40 lines
1.4 KiB
Haxe
40 lines
1.4 KiB
Haxe
package assets;
|
|
|
|
import openfl.display.BitmapData;
|
|
import openfl.Assets;
|
|
import assets.schema.HTexSchema;
|
|
import assets.tilesets.TilesetGeneric;
|
|
import assets.tilesets.TextureAtlas;
|
|
import haxe.Json;
|
|
|
|
class HTex{
|
|
public static var hTexArray:Array<HTex> = [];
|
|
public var bitmaps:Array<BitmapData>;
|
|
public var name:String = "";
|
|
public function new(_name:String){
|
|
// name = _name;
|
|
// if(hTexArray[name] == null)
|
|
// hTexArray[name] = name;
|
|
}
|
|
public static function createTextureObjectFromJSON(path:String){
|
|
var DATA:TexV1;
|
|
var loadedData:String = Assets.getText(path);
|
|
var jsondata = Json.parse(loadedData);
|
|
DATA = jsondata;
|
|
if(DATA.datascheme == "htex"){
|
|
if(DATA.version == 1){
|
|
var td:TextureDataV1 = DATA.textureData;
|
|
var width:Int = td.atlas.tileSize.x;
|
|
var height:Int = td.atlas.tileSize.y;
|
|
if(td.atlas.atlasType == "tilesetgeneric"){
|
|
var baseTexturePath:String = td.tilesetGeneric.baseTexture;
|
|
var tileNames:Array<String> = td.tilesetGeneric.tiles;
|
|
var atlas:TextureAtlas = new TextureAtlas(Assets.getBitmapData(baseTexturePath),width,height);
|
|
var tileSetGeneric = new TilesetGeneric(td.texName, atlas, tileNames);
|
|
//trace(tileSetGeneric);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
} |