From b4ef258be5f86123ff0e60a8d8617563ea5017f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JasonXuDeveloper=20-=20=E5=82=91?= Date: Thu, 22 Sep 2022 11:38:29 +1000 Subject: [PATCH] fixed that lifeCycleMgr should not invoke update if a gameObject is inactive --- .../JEngine/Core/Manager/LifeCycleMgr.cs | 54 +++++++++++++++--- .../JEngine/Templates/MonoAdapter.txt | 6 +- .../Dll/Hidden~/HotUpdateScripts.dll | Bin 102400 -> 102400 bytes .../Dll/Hidden~/HotUpdateScripts.pdb | Bin 43016 -> 43056 bytes .../Scripts/Adapters/MonoBehaviourAdapter.cs | 6 +- 5 files changed, 52 insertions(+), 14 deletions(-) diff --git a/UnityProject/Assets/Dependencies/JEngine/Core/Manager/LifeCycleMgr.cs b/UnityProject/Assets/Dependencies/JEngine/Core/Manager/LifeCycleMgr.cs index 8d6c0b47..4f8bb893 100644 --- a/UnityProject/Assets/Dependencies/JEngine/Core/Manager/LifeCycleMgr.cs +++ b/UnityProject/Assets/Dependencies/JEngine/Core/Manager/LifeCycleMgr.cs @@ -38,11 +38,13 @@ private class LifeCycleItem { public readonly ILTypeInstance ItemInstance; public readonly MethodInfo Method; + public readonly Func ExecuteCondition; - public LifeCycleItem(ILTypeInstance itemInstance, MethodInfo method) + public LifeCycleItem(ILTypeInstance itemInstance, MethodInfo method, Func cond) { ItemInstance = itemInstance; Method = method; + ExecuteCondition = cond; } } @@ -113,7 +115,7 @@ public LifeCycleItem(ILTypeInstance itemInstance, MethodInfo method) /// public void AddAwakeItem(ILTypeInstance instance, MethodInfo method) { - _awakeItems.Add(new LifeCycleItem(instance, method)); + _awakeItems.Add(new LifeCycleItem(instance, method, () => true)); _awakeObjs.Add(instance); } @@ -124,7 +126,7 @@ public void AddAwakeItem(ILTypeInstance instance, MethodInfo method) /// public void AddOnEnableItem(ILTypeInstance instance, MethodInfo method) { - _enableItems.Add(new LifeCycleItem(instance, method)); + _enableItems.Add(new LifeCycleItem(instance, method, () => true)); _enableObjs.Add(instance); } @@ -135,7 +137,7 @@ public void AddOnEnableItem(ILTypeInstance instance, MethodInfo method) /// public void AddStartItem(ILTypeInstance instance, MethodInfo method) { - _startItems.Add(new LifeCycleItem(instance, method)); + _startItems.Add(new LifeCycleItem(instance, method, () => true)); _startObjs.Add(instance); } @@ -144,9 +146,21 @@ public void AddStartItem(ILTypeInstance instance, MethodInfo method) /// /// /// + [Obsolete("Please provide a gameObject that holds this instance to be able to monitor whether or not it should update")] public void AddUpdateItem(ILTypeInstance instance, MethodInfo method) { - _updateItems.Add(new LifeCycleItem(instance, method)); + _updateItems.Add(new LifeCycleItem(instance, method, () => (instance.GetGameObject().gameObject.activeInHierarchy))); + } + + /// + /// Add update task + /// + /// + /// + /// + public void AddUpdateItem(ILTypeInstance instance, MethodInfo method, GameObject parent) + { + _updateItems.Add(new LifeCycleItem(instance, method, () => parent.activeInHierarchy)); } /// @@ -163,9 +177,21 @@ public void RemoveUpdateItem(ILTypeInstance instance) /// /// /// + [Obsolete("Please provide a gameObject that holds this instance to be able to monitor whether or not it should lateUpdate")] public void AddLateUpdateItem(ILTypeInstance instance, MethodInfo method) { - _lateUpdateItems.Add(new LifeCycleItem(instance, method)); + _lateUpdateItems.Add(new LifeCycleItem(instance, method, () => (instance.GetGameObject().gameObject.activeInHierarchy))); + } + + /// + /// Add lateUpdate task + /// + /// + /// + /// + public void AddLateUpdateItem(ILTypeInstance instance, MethodInfo method, GameObject parent) + { + _lateUpdateItems.Add(new LifeCycleItem(instance, method, () => parent.activeInHierarchy)); } /// @@ -182,9 +208,21 @@ public void RemoveLateUpdateItem(ILTypeInstance instance) /// /// /// + [Obsolete("Please provide a gameObject that holds this instance to be able to monitor whether or not it should fixedUpdate")] public void AddFixedUpdateItem(ILTypeInstance instance, MethodInfo method) { - _fixedUpdateItems.Add(new LifeCycleItem(instance, method)); + _fixedUpdateItems.Add(new LifeCycleItem(instance, method, () => (instance.GetGameObject().gameObject.activeInHierarchy))); + } + + /// + /// Add fixedUpdate task + /// + /// + /// + /// + public void AddFixedUpdateItem(ILTypeInstance instance, MethodInfo method, GameObject parent) + { + _fixedUpdateItems.Add(new LifeCycleItem(instance, method, () => parent.activeInHierarchy)); } /// @@ -225,7 +263,7 @@ private void ExecuteItems(List items, bool removeAfterInvoke = tr { var item = items[i]; //忽略 - if (ignoreCondition != null && ignoreCondition(item.ItemInstance)) + if (ignoreCondition != null && ignoreCondition(item.ItemInstance)|| !item.ExecuteCondition()) { continue; } diff --git a/UnityProject/Assets/Dependencies/JEngine/Templates/MonoAdapter.txt b/UnityProject/Assets/Dependencies/JEngine/Templates/MonoAdapter.txt index 4e9e621b..d31e132a 100644 --- a/UnityProject/Assets/Dependencies/JEngine/Templates/MonoAdapter.txt +++ b/UnityProject/Assets/Dependencies/JEngine/Templates/MonoAdapter.txt @@ -55,9 +55,9 @@ LifeCycleMgr.Instance.AddOnEnableItem(instance, GetMethodInfo(type, "OnEnable")); } LifeCycleMgr.Instance.AddStartItem(instance, GetMethodInfo(type, "Start")); - LifeCycleMgr.Instance.AddFixedUpdateItem(instance, GetMethodInfo(type, "FixedUpdate")); - LifeCycleMgr.Instance.AddUpdateItem(instance, GetMethodInfo(type, "Update")); - LifeCycleMgr.Instance.AddLateUpdateItem(instance, GetMethodInfo(type, "LateUpdate")); + LifeCycleMgr.Instance.AddFixedUpdateItem(instance, GetMethodInfo(type, "FixedUpdate"), gameObject); + LifeCycleMgr.Instance.AddUpdateItem(instance, GetMethodInfo(type, "Update"), gameObject); + LifeCycleMgr.Instance.AddLateUpdateItem(instance, GetMethodInfo(type, "LateUpdate"), gameObject); isAwaking = false; awaked = true; diff --git a/UnityProject/Assets/HotUpdateResources/Dll/Hidden~/HotUpdateScripts.dll b/UnityProject/Assets/HotUpdateResources/Dll/Hidden~/HotUpdateScripts.dll index 3447f3696ec3e8e8b70060dc3c675731e1bcdbae..664d5f5c89386dfb63bf98a40fc2c665c008d949 100644 GIT binary patch delta 12291 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 Dh&1b0 delta 8097 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 diff --git a/UnityProject/Assets/Scripts/Adapters/MonoBehaviourAdapter.cs b/UnityProject/Assets/Scripts/Adapters/MonoBehaviourAdapter.cs index 9bd9cfaa..a1344519 100644 --- a/UnityProject/Assets/Scripts/Adapters/MonoBehaviourAdapter.cs +++ b/UnityProject/Assets/Scripts/Adapters/MonoBehaviourAdapter.cs @@ -162,9 +162,9 @@ public async void Awake() LifeCycleMgr.Instance.AddOnEnableItem(instance, GetMethodInfo(type, "OnEnable")); } LifeCycleMgr.Instance.AddStartItem(instance, GetMethodInfo(type, "Start")); - LifeCycleMgr.Instance.AddFixedUpdateItem(instance, GetMethodInfo(type, "FixedUpdate")); - LifeCycleMgr.Instance.AddUpdateItem(instance, GetMethodInfo(type, "Update")); - LifeCycleMgr.Instance.AddLateUpdateItem(instance, GetMethodInfo(type, "LateUpdate")); + LifeCycleMgr.Instance.AddFixedUpdateItem(instance, GetMethodInfo(type, "FixedUpdate"), gameObject); + LifeCycleMgr.Instance.AddUpdateItem(instance, GetMethodInfo(type, "Update"), gameObject); + LifeCycleMgr.Instance.AddLateUpdateItem(instance, GetMethodInfo(type, "LateUpdate"), gameObject); isAwaking = false; awaked = true;