Ejemplo n.º 1
0
        public void UpdateTiles()
        {
            if (tiles != null)
            {
                foreach (GameObject tile in tiles)
                {
                    DestroyImmediate(tile);
                }
            }
            tiles = new GameObject[data.width * data.height];

            for (int y = 0; y < data.height; y++)
            {
                for (int x = 0; x < data.width; x++)
                {
                    int i = x + y * data.width;

                    int gid = data.GetGID(x, y, "Arch");
                    if (gid == -1)
                    {
                        print("Bad GID");
                        continue;
                    }
                    int tilesetIndex = data.GetTileset(gid);
                    if (tilesetIndex == -1)
                    {
                        print("Bad Tileset Index");
                        continue;
                    }
                    int lid = data.tilesets[tilesetIndex].GetLID(gid);
                    if (lid == -1)
                    {
                        print("Bad LID");
                        continue;
                    }
                    if (tilesets[tilesetIndex] == null)
                    {
                        print("Bad Tileset");
                        continue;
                    }

                    TiledTile tile = tilesets[tilesetIndex].tiles[lid];
                    if (tile.gameObject)
                    {
                        tiles[i] = Instantiate(tile.gameObject, new Vector3(x * tileWidth, 0, -y * tileHeight), tile.rotation, transform);
                    }
                    else
                    {
                        print("TILE");
                    }
                }
            }
        }
Ejemplo n.º 2
0
        void OnGUI()
        {
            TiledTile tile = tileset.tiles[lid];

            tile.gameObject           = EditorGUILayout.ObjectField("Prefab", tile.gameObject, typeof(GameObject), false) as GameObject;
            tile.rotation.eulerAngles = EditorGUILayout.Vector3Field("Rotation", tile.rotation.eulerAngles);
            tileset.tiles[lid]        = tile;

            if (GUILayout.Button("Done"))
            {
                Close();
            }
        }