public void Clear() { nodeMap.Clear(); platforms.Clear(); }
/// <summary> /// Clears the tiles /// </summary> public void Clear() { TileDictionary.Clear(); }
//Drawing public override VisualElement CreateInspectorGUI() { var root = _rootElement; root.Clear(); _visualTree.CloneTree(root); Materials = _rootElement.Query <IMGUIContainer>("Materials"); toolbar = _rootElement.Query <IMGUIContainer>("Toolbar"); tilePalette = _rootElement.Query <IMGUIContainer>("TilePaletteGrid"); tileEditor = _rootElement.Query <IMGUIContainer>("TileEditor"); toolbar.onGUIHandler += () => { EditorGUILayout.BeginVertical("Box"); if (GUILayout.Button("Clear tilemap")) { bool confirm = EditorUtility.DisplayDialog("Are you sure?", "Clearing a tilemap will erase ALL tiles with no way (currently) to undo. Are you sure?", "Yes, I am sure", "nvm"); if (confirm) { tiles.Clear(); archi.transform.ClearChildren(); } } GUILayout.Label("Tools"); archi.selectedTool = GUILayout.Toolbar(archi.selectedTool, toolPreviews.ToArray(), GUILayout.Width(34 * 3), GUILayout.Height(34) ); EditorGUILayout.EndVertical(); EditorGUILayout.Space(5); }; Materials.onGUIHandler += () => { EditorGUILayout.BeginVertical("Box"); GUILayout.Label("Material"); EditorGUILayout.BeginHorizontal(); archi.useTileMaterial = GUILayout.Toggle(archi.useTileMaterial, new GUIContent("Use tile material", "If checked, it will leave the tiles material as is when placed")); if (!archi.useTileMaterial) { if (archi.materials.Count > 0) { archi.selectedMaterial = GUILayout.Toolbar(archi.selectedMaterial, materialPreviews.ToArray(), GUILayout.Width(34 * materialPreviews.Count), GUILayout.Height(34)); } else { GUILayout.Label("No materials. Drag a material onto the inspector to add it."); } if (archi.materials.Count > 0) { if (GUILayout.Button("-", GUILayout.Width(34), GUILayout.Height(34))) { archi.materials.RemoveAt(archi.materials.Count - 1); UpdateMaterialPreviews(); } } } else { GUILayout.Label("Using tiles material"); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); EditorGUILayout.Space(5); HandleDrop(Event.current); }; tileEditor.onGUIHandler += () => { archi.selectedTile = Mathf.Clamp(archi.selectedTile, 0, archi.Tiles.Count - 1); if (archi.Tiles.Count == 0) { return; } EditorGUILayout.BeginVertical("Box"); if (!editor && archi.Tiles[archi.selectedTile] != null) { CreateCachedEditor(archi.Tiles[archi.selectedTile].GetComponent <Tile>(), null, ref editor); } if (editor) { editor.OnInspectorGUI(); } EditorGUILayout.EndVertical(); }; tilePalette.onGUIHandler += () => { EditorGUILayout.BeginVertical("Box"); GUILayout.Label("Tiles"); EditorGUILayout.BeginHorizontal(); if (tilePreviews.Count > 0) { archi.selectedTile = GUILayout.Toolbar(archi.selectedTile, tilePreviews.ToArray(), GUILayout.Width(32 * tilePreviews.Count), GUILayout.Height(32)); } else { GUILayout.Label("No tiles. Drag and drop a tile (MUST HAVE TILE COMPONENT) prefab onto the inspector to add"); } if (archi.Tiles.Count > 0) { if (GUILayout.Button("-", GUILayout.Width(32), GUILayout.Height(32))) { archi.Tiles.RemoveAt(archi.Tiles.Count - 1); UpdateTilePreviews(); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); }; //Update the lists for tile and material previews. return(root); }