public void Dispose()
{
if (this.editor != null)
{
this.OnSceneDrag = null;
UnityEngine.Object.DestroyImmediate(this.editor);
this.editor = null;
}
GC.SuppressFinalize(this);
}
public void CleanupUntouchedEditors() { if (m_EditorCache != null) { List <Object> toDelete = new List <Object>(); foreach (Object key in m_EditorCache.Keys) { if (!m_UsedEditors.ContainsKey(key)) { toDelete.Add(key); } } foreach (Object key in toDelete) { EditorWrapper ew = m_EditorCache[key]; m_EditorCache.Remove(key); if (ew == null) { continue; } ew.Dispose(); } } m_UsedEditors.Clear(); }