This commit is contained in:
Sinai
2021-04-30 23:12:18 +10:00
parent 2378925a8b
commit 74ff1d8f01
14 changed files with 97 additions and 259 deletions

View File

@ -72,7 +72,7 @@ namespace UnityExplorer.UI.Inspectors.CacheObject
// On parent destroying this
public virtual void OnDestroyed()
public virtual void ReleasePooledObjects()
{
// TODO release IValue / Evaluate back to pool, etc
ReleaseIValue();
@ -237,6 +237,7 @@ namespace UnityExplorer.UI.Inspectors.CacheObject
if (this.IValue == null)
{
IValue = (InteractiveValue)Pool.Borrow(typeof(InteractiveValue));
CurrentIValueType = IValue.GetType();
IValue.SetOwner(this);
IValue.UIRoot.transform.SetParent(CellView.SubContentHolder.transform, false);
CellView.SubContentHolder.SetActive(true);

View File

@ -10,7 +10,7 @@ namespace UnityExplorer.UI.Inspectors.CacheObject.Views
{
public class CacheMemberCell : CacheObjectCell
{
public ReflectionInspector CurrentOwner { get; set; }
public ReflectionInspector Owner { get; set; }
public CacheMember MemberOccupant => Occupant as CacheMember;
@ -24,15 +24,6 @@ namespace UnityExplorer.UI.Inspectors.CacheObject.Views
// TODO
}
public override void OnReturnToPool()
{
base.OnReturnToPool();
// TODO ?
CurrentOwner = null;
}
protected override void ConstructEvaluateHolder(GameObject parent)
{
// Evaluate vert group

View File

@ -59,18 +59,6 @@ namespace UnityExplorer.UI.Inspectors.CacheObject.Views
public GameObject SubContentHolder;
public virtual void OnReturnToPool()
{
if (Occupant != null)
{
// TODO ?
SubContentHolder.SetActive(false);
Occupant = null;
}
}
protected virtual void ApplyClicked()
{
Occupant.OnCellApplyClicked();

View File

@ -49,7 +49,7 @@ namespace UnityExplorer.UI.Inspectors
TransformTree.Rebuild();
ComponentList.ScrollPool.Rebuild();
ComponentList.ScrollPool.Refresh(true, true);
UpdateComponents();
}
@ -57,12 +57,12 @@ namespace UnityExplorer.UI.Inspectors
{
base.OnReturnToPool();
// release component and transform lists
this.TransformTree.ScrollPool.ReturnCells();
this.TransformTree.ScrollPool.SetUninitialized();
this.ComponentList.ScrollPool.ReturnCells();
this.ComponentList.ScrollPool.SetUninitialized();
//// release component and transform lists
//this.TransformTree.ScrollPool.ReleaseCells();
//this.TransformTree.ScrollPool.SetUninitialized();
//
//this.ComponentList.ScrollPool.ReleaseCells();
//this.ComponentList.ScrollPool.SetUninitialized();
}
private float timeOfLastUpdate;
@ -150,7 +150,7 @@ namespace UnityExplorer.UI.Inspectors
_componentEntries.Add(comp);
ComponentList.RefreshData();
ComponentList.ScrollPool.RefreshCells(true);
ComponentList.ScrollPool.Refresh(true);
}
protected override void OnCloseClicked()

View File

@ -46,7 +46,8 @@ namespace UnityExplorer.UI.Inspectors
SetTitleLayouts();
SetTarget(target);
MemberScrollPool.Initialize(this);
// MemberScrollPool.SetDataSource(this);
MemberScrollPool.Refresh(true, true);
RuntimeProvider.Instance.StartCoroutine(InitCoroutine());
}
@ -60,11 +61,7 @@ namespace UnityExplorer.UI.Inspectors
public override void OnReturnToPool()
{
foreach (var member in members)
member.OnDestroyed();
// release all cachememberviews
MemberScrollPool.ReturnCells();
MemberScrollPool.SetUninitialized();
member.ReleasePooledObjects();
members.Clear();
filteredMembers.Clear();
@ -173,7 +170,7 @@ namespace UnityExplorer.UI.Inspectors
}
if (shouldRefresh)
MemberScrollPool.RefreshCells(false);
MemberScrollPool.Refresh(false);
}
// Member cells
@ -182,12 +179,7 @@ namespace UnityExplorer.UI.Inspectors
public void OnCellBorrowed(CacheMemberCell cell)
{
cell.CurrentOwner = this;
}
public void OnCellReturned(CacheMemberCell cell)
{
cell.OnReturnToPool();
cell.Owner = this;
}
public void SetCell(CacheMemberCell cell, int index)
@ -315,6 +307,7 @@ namespace UnityExplorer.UI.Inspectors
MemberScrollPool = UIFactory.CreateScrollPool<CacheMemberCell>(uiRoot, "MemberList", out GameObject scrollObj,
out GameObject _, new Color(0.09f, 0.09f, 0.09f));
UIFactory.SetLayoutElement(scrollObj, flexibleHeight: 9999);
MemberScrollPool.Initialize(this);
//InspectorPanel.Instance.UIRoot.GetComponent<Mask>().enabled = false;
//MemberScrollPool.Viewport.GetComponent<Mask>().enabled = false;