void CustomProperties() { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Toggle Blocked")) { foreach (Tile t in targets) { t.ToggleBlocked(); SceneView.RepaintAll(); } } if (GUILayout.Button("Toggle Camp")) { foreach (Tile t in targets) { t.ToggleCamp(); SceneView.RepaintAll(); } } if (GUILayout.Button("Toggle BlockSight")) { foreach (Tile t in targets) { t.ToggleBlockSight(); SceneView.RepaintAll(); } } EditorGUILayout.EndHorizontal(); if (targets.Length > 1) { if (GUILayout.Button("Reset Custom Settings")) { foreach (Tile t in targets) { BakeGrid.ResetTile(t); SceneView.RepaintAll(); } } EditorGUILayout.HelpBox(".. not supported in multiselect", MessageType.Info, true); } else if ((target as Tile).customTile) { if (GUILayout.Button("Reset Custom Settings")) { BakeGrid.ResetTile(target as Tile); } EditorGUILayout.HelpBox("CUSTOM SETTINGS! \nCustom tile settings will not get properties from props", MessageType.Warning, true); SceneView.RepaintAll(); } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); if (GUILayout.Button("Reset Grid")) { (target as TileManager).SpawnBaseGrid(); BakeGrid.Bake(target as TileManager); } // if (GUILayout.Button("Fetch Tiles Grid")) (target as TileManager).FetchTiles(); if (GUILayout.Button("Update Positions")) { (target as TileManager).SetTilesToGridPosition((target as TileManager).FetchTiles()); } }
void TileManagerTools() { if (Grid == null) { return; } if (Selection.activeGameObject != null && Selection.activeGameObject != Grid.gameObject && Selection.activeGameObject.GetComponent <TileManager>() != null && GUILayout.Button("Append Grid Test", GUILayout.Width(100)) ) { Grid.AppendGrid(Selection.activeGameObject.GetComponent <TileManager>()); } if (GUILayout.Button("Spawn Random Region")) { // WorldExtender.SpawnRegion( RegionLoader.GetWeightedRegionForLevel(0, new List<RegionConfig>()), Grid); if (CurrentTileSelection != null) { CurrentTileSelection.Clear(); } } if (GUILayout.Button("Spawn Next Region")) { WorldExtender.Instance.SpawnNext(); if (CurrentTileSelection != null) { CurrentTileSelection.Clear(); } } if (GUILayout.Button("Spawn Camp Region")) { // WorldExtender.SpawnRegion(RegionLoader.GetCamp(0), Grid); if (CurrentTileSelection != null) { CurrentTileSelection.Clear(); } } if (GUILayout.Button("Select All")) { CurrentTileSelection.Clear(); CurrentTileSelection.AddRange(Grid.GetTileList()); SelectCurrentTilesInEditor(); } if (GUILayout.Button("Select Border")) { List <Tile> border = TileManager.GetBorderTiles(CurrentTileSelection, Grid, true); CurrentTileSelection.Clear(); CurrentTileSelection.AddRange(border); SelectCurrentTilesInEditor(); } if (GUILayout.Button("Show Current Crumble Weights")) { if (weighted == null) { weighted = TileWeighted.GetWeightedTiles(Grid); } else { weighted = null; } SceneView.RepaintAll(); } if (GUILayout.Button("Reset Tile Visual States")) { foreach (Tile t in Grid.FetchTiles()) { t.SetBaseState(); } } if (Application.isPlaying && GUILayout.Button("Test Crumble")) { TileWeighted.GetCrumbleTiles(20, Grid).ForEach(t => t.StartCrumble()); // MDebug.Log(Grid.GetLastActiveRow()); Grid.GetTileList().ForEach(t => t.OnCrumbleTurn(0)); SceneView.RepaintAll(); } if (GUILayout.Button("Spawn Meshes")) { List <Tile> tiles = Grid.GetTileList(); foreach (Tile t in tiles) { TileEditor.SpawnMesh(t); } SceneView.RepaintAll(); } if (GUILayout.Button("Bake")) { BakeGrid.Bake(Grid); SceneView.RepaintAll(); } }