コード例 #1
0
    //Initialization methods
    private void Create()
    {
        Labyrinth.Tile[,] tiles = labyrinth.GetTiles();
        field = new GameObject[tiles.GetLength(0), tiles.GetLength(1)];
        Labyrinth.Properties properties = labyrinth.GetProperties();

        for (int y = 0; y < tiles.GetLength(1); y++)
        {
            for (int x = 0; x < tiles.GetLength(0); x++)
            {
                GameObject tile;
                Transform  transform = gameObject.transform;
                Vector3    position  = new Vector3(x * tileSize, 0, y * tileSize);
                switch (tiles[x, y])
                {
                case Labyrinth.Tile.ENTRY:
                    tile = Instantiate(entry, transform);
                    break;

                case Labyrinth.Tile.EXIT:
                    tile = Instantiate(exit, transform);
                    break;

                case Labyrinth.Tile.DYNAMIC_TRAP:
                    tile = Instantiate(dynamicTrap, transform);
                    break;

                case Labyrinth.Tile.STATIC_TRAP:
                    tile = Instantiate(staticTrap, transform);
                    break;

                case Labyrinth.Tile.WALL:
                    tile = Instantiate(wall, transform);
                    break;

                case Labyrinth.Tile.KEY:
                    tile = Instantiate(key, transform);
                    break;

                default:
                    tile       = Instantiate(free, transform);
                    position.y = 0;
                    break;
                }

                tile.transform.position   = position;
                tile.transform.localScale = Vector3.one * tileSize;
                //SyncScaleRotation t = tile.GetComponent<SyncScaleRotation>();
                //t.rotation = tile.transform.rotation;
                //t.scale = tile.transform.localScale;

                //NetworkServer.Spawn(tile);
            }
        }
    }