diff --git a/Assets/Scripts/Actions/AnimationAction.cs b/Assets/Scripts/Actions/AnimationAction.cs index c212e4a6..e3c9f60c 100644 --- a/Assets/Scripts/Actions/AnimationAction.cs +++ b/Assets/Scripts/Actions/AnimationAction.cs @@ -32,6 +32,7 @@ namespace QFramework string deviceName; float totalTime; + GameObject obj; public static AnimationAction Allocate(string path, Dictionary datas, System.Action OnFinished = null) { var retNode = mPool.Allocate(); @@ -51,7 +52,6 @@ namespace QFramework TweenerCore animDot; public void OnStart() { - GameObject obj = null; if (string.IsNullOrEmpty(deviceName)) { obj = Utility.FindObj(path); @@ -149,10 +149,14 @@ namespace QFramework { if (!Deinited) { + if (obj != null) + { + anim?.Stop(); + } animDot?.Kill(); - anim?.Stop(); OnFinished = null; Deinited = true; + obj = null; mPool.Recycle(this); } } diff --git a/Assets/Scripts/Actions/HighLightAction.cs b/Assets/Scripts/Actions/HighLightAction.cs index 7efe534f..c8da574f 100644 --- a/Assets/Scripts/Actions/HighLightAction.cs +++ b/Assets/Scripts/Actions/HighLightAction.cs @@ -72,6 +72,7 @@ namespace QFramework var effect = obj.GetOrAddComponent(); effect.outlineColor = color; effect.highlighted = true; + obj.GetOrAddComponent(); if (string.IsNullOrEmpty(isIndependent) == false) { switch (isIndependent) diff --git a/Assets/Scripts/OpeartionHelper.meta b/Assets/Scripts/OpeartionHelper.meta new file mode 100644 index 00000000..bc3452ca --- /dev/null +++ b/Assets/Scripts/OpeartionHelper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27089718485c08142b8d696ce13b2a78 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OpeartionHelper/OnStepChanged.meta b/Assets/Scripts/OpeartionHelper/OnStepChanged.meta new file mode 100644 index 00000000..140f53af --- /dev/null +++ b/Assets/Scripts/OpeartionHelper/OnStepChanged.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a69538f7c29aeb47804364936ea1c5c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OpeartionHelper/OnStepChanged/HighLightOnStepChanged.cs b/Assets/Scripts/OpeartionHelper/OnStepChanged/HighLightOnStepChanged.cs new file mode 100644 index 00000000..bdbaedb4 --- /dev/null +++ b/Assets/Scripts/OpeartionHelper/OnStepChanged/HighLightOnStepChanged.cs @@ -0,0 +1,30 @@ +using HighlightPlus; +using QFramework; +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using static OperationController; + +public class HighLightOnStepChanged : MonoBehaviour +{ + + private void Awake() + { + TypeEventSystem.Global.Register(OnStepChanged); + } + + private void OnStepChanged(StepStatusOnChange change) + { + var effect = GetComponent(); + if (effect != null) + { + effect.highlighted = false; + } + } + + private void OnDestroy() + { + TypeEventSystem.Global.UnRegister(OnStepChanged); + } +} diff --git a/Assets/Scripts/OpeartionHelper/OnStepChanged/HighLightOnStepChanged.cs.meta b/Assets/Scripts/OpeartionHelper/OnStepChanged/HighLightOnStepChanged.cs.meta new file mode 100644 index 00000000..5b80256d --- /dev/null +++ b/Assets/Scripts/OpeartionHelper/OnStepChanged/HighLightOnStepChanged.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8dea558b3c0de5a48906a5a7f7806258 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: