public virtual DebugMenuItemUI BuildGUI(GameObject parent, DebugMenuItem menuItem) { DebugMenuItemUI newItemUI = null; if (menuItem.GetItemType() == typeof(bool)) { newItemUI = new DebugMenuBoolItemUI(parent, menuItem, m_Label.text); } else if (menuItem.GetItemType() == typeof(int)) { newItemUI = new DebugMenuIntItemUI(parent, menuItem, m_Label.text); } else if (menuItem.GetItemType() == typeof(uint)) { newItemUI = new DebugMenuUIntItemUI(parent, menuItem, m_Label.text); } else if (menuItem.GetItemType() == typeof(float)) { newItemUI = new DebugMenuFloatItemUI(parent, menuItem, m_Label.text); } else if (menuItem.GetItemType() == typeof(Color)) { newItemUI = new DebugMenuColorItemUI(parent, menuItem, m_Label.text); } else if (m_MenuItem.GetItemType().BaseType == typeof(System.Enum)) { newItemUI = new DebugMenuEnumItemUI(parent, menuItem, m_Label.text, m_EnumStrings.ToArray(), m_EnumValues.ToArray()); } return(newItemUI); }
public void SetDebugItem(DebugMenuItem item) { m_MenuItem = item; m_Label = new GUIContent(m_MenuItem.name); Type itemType = m_MenuItem.GetItemType(); if (itemType.BaseType == typeof(System.Enum)) { Array arr = Enum.GetValues(itemType); m_EnumStrings = new List <GUIContent>(arr.Length); m_EnumValues = new List <int>(arr.Length); foreach (var value in arr) { m_EnumStrings.Add(new GUIContent(value.ToString())); m_EnumValues.Add((int)value); } } }