void CreateTileGameObject(Tile t, int x, int y) { // Create Tile's GameObject t.CreateTileObject(Name + "[" + x + ", " + y + "]", LayerGameObject.transform, Name, BaseMap.DefaultSortingOrder + BaseMap.GetSortingOrder(x, y), GetTileWorldPosition(x, y, t.TileSet), BaseMaterials, Opacity); if (t.TileSet.AnimatedTiles.ContainsKey(t.OriginalID)) { AnimatedSprite _animatedTile = t.TileGameObject.AddComponent <AnimatedSprite>(); // Tiled defaults to LOOP _animatedTile.AnimationMode = SpriteAnimationMode.LOOP; foreach (var tileFrame in t.TileSet.AnimatedTiles[t.OriginalID].TileFrames) { Tile tile; if (BaseMap.Tiles.TryGetValue(tileFrame.TileID, out tile)) { _animatedTile.AddSpriteFrame(tile.TileSprite, tileFrame.Duration); } else { Debug.LogWarning("Invalid Tile ID while building tile animation: " + tileFrame.TileID); } } } }