コード例 #1
0
ファイル: TileLayer.cs プロジェクト: BoldBigflank/rodball
        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);
                    }
                }
            }
        }