|
|
|
|
|
|
#if UNITY_EDITOR
|
|
|
|
UnityEditor.Undo.undoRedoPerformed += OnUndoRedoPerformed; |
|
|
|
#endif
|
|
|
|
DebugMenuManager.instance.SetDebugMenuState(this); |
|
|
|
} |
|
|
|
|
|
|
|
public void OnDisable() |
|
|
|
{ |
|
|
|
DebugMenuManager.instance.SetDebugMenuState(null); |
|
|
|
|
|
|
|
#if UNITY_EDITOR
|
|
|
|
UnityEditor.Undo.undoRedoPerformed -= OnUndoRedoPerformed; |
|
|
|
#endif
|
|
|
|
} |
|
|
|
|
|
|
|
public void ReInitializeDebugItemStates() |
|
|
|
{ |
|
|
|
CleanUp(); |
|
|
|
// Populate item states
|
|
|
|
DebugMenuManager dmm = DebugMenuManager.instance; |
|
|
|
for (int panelIdx = 0; panelIdx < dmm.panelCount; ++panelIdx) |
|
|
|
|
|
|
if (debugItemState == null) |
|
|
|
{ |
|
|
|
debugItemState = item.handler.CreateDebugItemState(); |
|
|
|
if(debugItemState != null) |
|
|
|
if (debugItemState != null) |
|
|
|
{ |
|
|
|
debugItemState.hideFlags = HideFlags.DontSave; |
|
|
|
debugItemState.Initialize(item); |
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
DebugMenuManager.instance.SetDebugMenuState(this); |
|
|
|
UpdateAllDebugItems(); |
|
|
|
public void OnDisable() |
|
|
|
private void CleanUp() |
|
|
|
#if UNITY_EDITOR
|
|
|
|
UnityEditor.Undo.undoRedoPerformed -= OnUndoRedoPerformed; |
|
|
|
#endif
|
|
|
|
foreach (var item in m_ItemStateList) |
|
|
|
{ |
|
|
|
Object.DestroyImmediate(item); |
|
|
|
} |
|
|
|
|
|
|
|
m_ItemStateList.Clear(); |
|
|
|
foreach(var item in m_ItemStateList) |
|
|
|
{ |
|
|
|
Object.DestroyImmediate(item); |
|
|
|
} |
|
|
|
CleanUp(); |
|
|
|
} |
|
|
|
|
|
|
|
void OnUndoRedoPerformed() |
|
|
|
|
|
|
#endif
|
|
|
|
} |
|
|
|
|
|
|
|
public void AddDebugItemState(DebugItemState state) |
|
|
|
private void AddDebugItemState(DebugItemState state) |
|
|
|
{ |
|
|
|
m_ItemStateList.Add(state); |
|
|
|
} |
|
|
|
|
|
|
return m_ItemStateList.Find(x => x.itemName == item.name && x.panelName == item.panelName); |
|
|
|
} |
|
|
|
|
|
|
|
public void UpdateAllDebugItems() |
|
|
|
private void UpdateAllDebugItems() |
|
|
|
{ |
|
|
|
foreach (var itemState in m_ItemStateList) |
|
|
|
{ |
|
|
|