예제 #1
0
        private void InstantiateTiles(IndoorTileMapData mapData)
        {
            IndoorTile newTile;
            UInt16     x, y;

            for (UInt32 i = 0; i < mapData.tiles.Length; i++)
            {
                newTile = IndoorTile.Create(mapData.tiles[i].tileID, this);
                newTile.transform.parent = transform;
                GetTileIndexes(mapData.tiles[i].tileID, out x, out y);

                newTile.transform.localPosition = new Vector3(x + 0.5f, 0, y + 0.5f) * TILE_SIZE;

                _tiles[mapData.tiles[i].tileID] = newTile;
            }
        }
예제 #2
0
        public void Initialize(IndoorTileMapData mapData, IndoorTilePrefabLib tilePrefabLib)
        {
            this.tilePrefabLib = tilePrefabLib;

            if (initialized)
            {
                Cleanup();
            }

            data   = mapData;
            _tiles = new IndoorTile[GetMapSize()];

            if (data.tiles.Length != _tiles.Length)
            {
                throw new InvalidOperationException();
            }

            InstantiateTiles(data);

            initialized = true;
        }