In this section, we will add our custom GUI and functionalities to the Palette window.
We want to use the category names as labels for a set of tabs in the Palette window. When we select one of these tabs, only the level piece prefabs of the selected category will be displayed.
We will create a method called GetListFromEnum
. This will help us to easily list enums for further use. Let's add this method inside the EditorUtils
class:
public static List<T> GetListFromEnum<T> () { List<T> enumList = new List<T> (); System.Array enums = System.Enum.GetValues (typeof(T)); foreach (T e in enums) { enumList.Add (e); } return enumList; }
The method receives an enum type as a generic type and returns a list with all the enum values in it.
Now, to create the GUI for the tabs, we need to make a few updates in the PaletteWindow.cs
script, as follows:
using UnityEngine;
using UnityEditor;
using System.Collections...