示例#1
0
        void DrawTileSets()
        {
            if (tmxFile.tileSets == null)
            {
                return;
            }

            if (tileMap.tileSetMaterials == null || tileMap.tileSetMaterials.Length != tmxFile.tileSets.Length)
            {
                tileMap.tileSetMaterials = TileMapEditor.GetMaterials(tmxFile, path);
                tileMap.tileSetSprites   = TileMapEditor.GetSprites(tmxFile, path);
            }

            EditorGUILayout.LabelField("Tile Sets", EditorStyles.boldLabel);
            string[] tilesSetNames = Array.ConvertAll(tmxFile.tileSets, (t) => t.name);
            selectedTileSetIndex = GUILayout.Toolbar(selectedTileSetIndex, tilesSetNames);

            switch (paintType)
            {
            case 0:
                TileSetField(tmxFile.tileSets[selectedTileSetIndex]);
                break;

            case 1:
                string[] terrainNames = Array.ConvertAll(terrains, (terrain) => terrain.name);
                selectedTerrainIndex = GUILayout.SelectionGrid(selectedTerrainIndex, terrainNames, 1);
                break;

            default:
                break;
            }

            paintType = GUILayout.Toolbar(paintType, new string[] { "Tiles", "Terrains" });
            EditorGUILayout.Separator();
        }
示例#2
0
 void DrawFilePanel()
 {
     EditorGUILayout.BeginHorizontal();
     if (GUILayout.Button("Reload"))
     {
         tmxFile = TMXFile.Load(path);
         tileMap.tileSetMaterials = TileMapEditor.GetMaterials(tmxFile, path);
         tileMap.tileSetSprites   = TileMapEditor.GetSprites(tmxFile, path);
         tileMap.Setup();
         treeView.Reload();
     }
     if (GUILayout.Button("Save"))
     {
         tmxFile.Save(path);
         AssetDatabase.ImportAsset(path);
     }
     if (GUILayout.Button("Save As"))
     {
         tmxFile.Save(
             EditorUtility.SaveFilePanel(
                 "Save as TMX",
                 Path.GetDirectoryName(path),
                 Path.GetFileNameWithoutExtension(path),
                 Path.GetExtension(path).TrimStart(new char[] { '.' })
                 )
             );
         AssetDatabase.Refresh();
         AssetDatabase.ImportAsset(path);
     }
     EditorGUILayout.EndHorizontal();
 }