mirror of
https://github.com/GrahamKracker/UnityExplorer.git
synced 2025-01-09 10:38:59 +08:00
fix destroy logic with lists/dicts
This commit is contained in:
parent
91d5fc284f
commit
5207b1a1c4
@ -43,7 +43,8 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
|
||||
public void Destroy()
|
||||
{
|
||||
GameObject.Destroy(this.m_mainContent);
|
||||
if (this.m_mainContent)
|
||||
GameObject.Destroy(this.m_mainContent);
|
||||
}
|
||||
|
||||
public virtual void UpdateValue()
|
||||
|
@ -65,18 +65,13 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
{
|
||||
RefIDictionary = Value as IDictionary;
|
||||
|
||||
if (Value != null)
|
||||
if (m_subContentParent.activeSelf)
|
||||
{
|
||||
if (m_subContentParent.activeSelf)
|
||||
{
|
||||
GetCacheEntries();
|
||||
RefreshDisplay();
|
||||
}
|
||||
else
|
||||
m_recacheWanted = true;
|
||||
GetCacheEntries();
|
||||
RefreshDisplay();
|
||||
}
|
||||
else
|
||||
m_entries.Clear();
|
||||
m_recacheWanted = true;
|
||||
|
||||
base.OnValueUpdated();
|
||||
}
|
||||
@ -122,7 +117,7 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
}
|
||||
|
||||
#if CPP
|
||||
if (RefIDictionary == null && !Value.IsNullOrDestroyed())
|
||||
if (RefIDictionary == null && Value != null)
|
||||
RefIDictionary = EnumerateWithReflection();
|
||||
#endif
|
||||
|
||||
|
@ -49,18 +49,13 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
RefIEnumerable = Value as IEnumerable;
|
||||
RefIList = Value as IList;
|
||||
|
||||
if (Value != null)
|
||||
if (m_subContentParent.activeSelf)
|
||||
{
|
||||
if (m_subContentParent.activeSelf)
|
||||
{
|
||||
GetCacheEntries();
|
||||
RefreshDisplay();
|
||||
}
|
||||
else
|
||||
m_recacheWanted = true;
|
||||
GetCacheEntries();
|
||||
RefreshDisplay();
|
||||
}
|
||||
else
|
||||
m_entries.Clear();
|
||||
m_recacheWanted = true;
|
||||
|
||||
base.OnValueUpdated();
|
||||
}
|
||||
@ -108,7 +103,7 @@ namespace UnityExplorer.Inspectors.Reflection
|
||||
}
|
||||
|
||||
#if CPP
|
||||
if (RefIEnumerable == null && !Value.IsNullOrDestroyed())
|
||||
if (RefIEnumerable == null && Value != null)
|
||||
RefIEnumerable = EnumerateWithReflection();
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user