public TiledMapTileObject(int identifier, string name, TiledMapTileset tileset, TiledMapTilesetTile tile, SizeF size, Vector2 position, float rotation = 0, float opacity = 1, bool isVisible = true, string type = null) : base(identifier, name, size, position, rotation, opacity, isVisible, type) { Tileset = tileset; Tile = tile; }
internal TiledMapTileset(ContentReader input) { Name = input.GetRelativeAssetName(input.ReadString()); var animatedTiles = new List <TiledMapTilesetAnimatedTile>(); var tiles = new List <TiledMapTilesetTile>(); _animatedTilesByLocalTileIdentifier = new Dictionary <int, TiledMapTilesetAnimatedTile>(); try { Texture = input.ContentManager.Load <Texture2D>(Name); } catch (ContentLoadException) { // ignore error, texture is optional } FirstGlobalIdentifier = input.ReadInt32(); TileWidth = input.ReadInt32(); TileHeight = input.ReadInt32(); TileCount = input.ReadInt32(); Spacing = input.ReadInt32(); Margin = input.ReadInt32(); Columns = input.ReadInt32(); Properties = new TiledMapProperties(); var explicitTileCount = input.ReadInt32(); for (var tileIndex = 0; tileIndex < explicitTileCount; tileIndex++) { var localTileIdentifier = input.ReadInt32(); var animationFramesCount = input.ReadInt32(); TiledMapTilesetTile tilesetTile; if (animationFramesCount <= 0) { tilesetTile = new TiledMapTilesetTile(localTileIdentifier, input); } else { var animatedTilesetTile = new TiledMapTilesetAnimatedTile(this, input, localTileIdentifier, animationFramesCount); animatedTiles.Add(animatedTilesetTile); _animatedTilesByLocalTileIdentifier.Add(localTileIdentifier, animatedTilesetTile); tilesetTile = animatedTilesetTile; } tiles.Add(tilesetTile); input.ReadTiledMapProperties(tilesetTile.Properties); } input.ReadTiledMapProperties(Properties); Tiles = new ReadOnlyCollection <TiledMapTilesetTile>(tiles); AnimatedTiles = new ReadOnlyCollection <TiledMapTilesetAnimatedTile>(animatedTiles); }
public TiledMapTileObject(ContentReader input, TiledMap map) : base(input) { var globalTileIdentifierWithFlags = input.ReadUInt32(); var tile = new TiledMapTile(globalTileIdentifierWithFlags); var tileset = map.GetTilesetByTileGlobalIdentifier(tile.GlobalIdentifier); var localTileIdentifier = tile.GlobalIdentifier - tileset.FirstGlobalIdentifier; TilesetTile = tileset.Tiles.FirstOrDefault(x => x.LocalTileIdentifier == localTileIdentifier); }