コード例 #1
0
        /// <summary>
        /// Creates an Otter Tilemap from the data loaded from the Tiled Map Editor file.
        /// </summary>
        /// <param name="tileLayer">
        /// The Tiled Map Editor Layer to be turned into an Otter tilemap.
        /// </param>
        /// <returns>
        /// The Otter tilemap representation of the Tiled Map Editor Layer.
        /// </returns>
        public Tilemap CreateTilemap(TiledTileLayer tileLayer)
        {
            var path = GetTilemapPath(TileSets.First().ImageSource);

            CheckExists(path);

            var tilemap = new Tilemap(path, PixelWidth, PixelHeight, TileWidth, TileHeight);
            tilemap.DefaultLayerName = tileLayer.Name;

            var layerName = tileLayer.Name;
            tilemap.AddLayer(layerName, 1);

            for(var x = 0; x < Width; x++)
            {
                for(var y = 0; y < Height; y++)
                {
                    var i = y * Width + x;
                    var gid = (int)tileLayer.Tiles[i].Gid;
                    if(gid > 0)
                    {
                        tilemap.SetTile(x, y, gid - 1, layerName);
                    }
                }

            }

            return tilemap;
        }