From 1fe4ffba72f56ccc6a89d1896142425c666887d4 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 27 Jan 2021 14:15:08 +0800 Subject: =?UTF-8?q?+UILib=20=E5=8F=8D=E7=BC=96=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client/Assets/Scripts/XMainClient/XComponentMgr.cs | 3 +++ Client/Assets/Scripts/XMainClient/XObject.cs | 3 ++- Client/Assets/Scripts/XMainClient/XStateMachine.cs | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'Client/Assets/Scripts/XMainClient') diff --git a/Client/Assets/Scripts/XMainClient/XComponentMgr.cs b/Client/Assets/Scripts/XMainClient/XComponentMgr.cs index e690d0c5..9aba5136 100644 --- a/Client/Assets/Scripts/XMainClient/XComponentMgr.cs +++ b/Client/Assets/Scripts/XMainClient/XComponentMgr.cs @@ -8,6 +8,7 @@ namespace XMainClient { private Dictionary _slots = new Dictionary(); + // 复用component的池子 private Dictionary _componentCache = new Dictionary(); public static int ComponenCreatetCount = 0; @@ -329,6 +330,7 @@ namespace XMainClient { XComponent xcomponent = null; XComponentMgr.ComponentCache componentCache = null; + // 先从池子中取 bool flag = this._componentCache.TryGetValue(uuid, out componentCache); if (flag) { @@ -379,6 +381,7 @@ namespace XMainClient bool flag2 = this._componentCache.TryGetValue(c.ID, out componentCache); if (flag2) { + // 放到池子里 componentCache.componentCache.Enqueue(c); } } diff --git a/Client/Assets/Scripts/XMainClient/XObject.cs b/Client/Assets/Scripts/XMainClient/XObject.cs index 4dfc105f..b82ac51c 100644 --- a/Client/Assets/Scripts/XMainClient/XObject.cs +++ b/Client/Assets/Scripts/XMainClient/XObject.cs @@ -61,6 +61,7 @@ namespace XMainClient return true; } + //销毁、回收对象 public virtual void Uninitilize() { bool flag = this.internalIterator != null; @@ -72,7 +73,7 @@ namespace XMainClient xcomponent.OnDetachFromHost(); this.OnComponentDetached(xcomponent); this.Components.RemoveAt(i); - XSingleton.singleton.RemoveComponent(xcomponent); + XSingleton.singleton.RemoveComponent(xcomponent); // 回收组件 } ListPool.Release(this.internalIterator); this.internalIterator = null; diff --git a/Client/Assets/Scripts/XMainClient/XStateMachine.cs b/Client/Assets/Scripts/XMainClient/XStateMachine.cs index 0dd73785..50cfda9e 100644 --- a/Client/Assets/Scripts/XMainClient/XStateMachine.cs +++ b/Client/Assets/Scripts/XMainClient/XStateMachine.cs @@ -61,7 +61,7 @@ namespace XMainClient } } - public new static readonly uint uuID = XSingleton.singleton.XHash("StateMachine"); + public new static readonly uint uuID = XCommon.singleton.XHash("StateMachine"); private IXStateTransform _current = null; -- cgit v1.1-26-g67d0