public void AddGroup <T>(ELvlGroup type) where T : LevelElement, ILevelGroup { LevelElement container = null; m_Groups.TryGetValue(type, out container); if (container == null) { container = new GameObject(typeof(T).Name).AddComponent <T>(); container.LvlSystem = this; m_Groups[type] = container; } }
public override void OnInspectorGUI() { LevelElement elem = target as LevelElement; if (elem.AutoDrawInspector()) { int id = UnityEditor.EditorGUILayout.IntField("Id", elem.Id); if (id != elem.Id) { elem.Id = id; elem.SetName(); } base.OnInspectorGUI(); elem.DrawGUI(); } else { elem.DrawGUI(); } }