lvjincheng преди 3 години
родител
ревизия
b049a91f2e
променени са 2 файла, в които са добавени 16 реда и са изтрити 6 реда
  1. 14 4
      Assets/BowArrow/Modules/NewUserGuider/NewUserGuiderManager.cs
  2. 2 2
      Assets/BowArrow/Scripts/View/DeviceCalibrateView.cs

+ 14 - 4
Assets/BowArrow/Modules/NewUserGuider/NewUserGuiderManager.cs

@@ -212,12 +212,17 @@ public class NewUserGuiderManager : MonoBehaviour
         };
         config.onStart = (g) => {
             g.GetMaskClickedEvent().RemoveAllListeners();
+            g.action_Update += () => {
+                bool doing = DeviceCalibrateView.ins.calibrateMagDoing;
+                g.iconPointer.gameObject.SetActive(!doing);
+                g.iconPointerHit.gameObject.SetActive(!doing);
+            };
             Func<bool> interceptor = () => {
-                return DeviceCalibrateView.ins.flag_GyrCalibarateOperateAndFinish != -1;
+                return DeviceCalibrateView.ins.gyrCalibrating;
             };
             Action operateFinished = () => {
                 g.hollowOutMask.isTargetRectCanThrough = false;
-                g.GetMaskClickedEvent().AddListener(g.OnClick_ToNext);
+                g.OnClick_ToNext();
             };
             DeviceCalibrateView.ins.action_OnClickGyrCalibrateInterceptor += interceptor;
             DeviceCalibrateView.ins.action_GyrCalibarateOperateAndFinish += operateFinished;
@@ -303,12 +308,17 @@ public class NewUserGuiderManager : MonoBehaviour
         };
         config.onStart = (g) => {
             g.GetMaskClickedEvent().RemoveAllListeners();
+            g.action_Update += () => {
+                bool doing = DeviceCalibrateView.ins.calibrateMagDoing;
+                g.iconPointer.gameObject.SetActive(!doing);
+                g.iconPointerHit.gameObject.SetActive(!doing);
+            };
             Func<bool> interceptor = () => {
-                return DeviceCalibrateView.ins.flag_MagCalibarateOperateAndFinish != -1;
+                return DeviceCalibrateView.ins.calibrateMagDoing;
             };
             Action operateFinished = () => {
                 g.hollowOutMask.isTargetRectCanThrough = false;
-                g.GetMaskClickedEvent().AddListener(g.OnClick_ToNext);
+                g.OnClick_ToNext();
             };
             DeviceCalibrateView.ins.action_OnClickMagCalibrateInterceptor += interceptor;
             DeviceCalibrateView.ins.action_MagCalibarateOperateAndFinish += operateFinished;

+ 2 - 2
Assets/BowArrow/Scripts/View/DeviceCalibrateView.cs

@@ -136,7 +136,7 @@ public class DeviceCalibrateView : MonoBehaviour, MenuBackInterface
     }
 
     /* ------ 新地磁计校准(2022-10-3) ------ */
-    bool calibrateMagDoing = false;
+    [NonSerialized] public bool calibrateMagDoing = false;
     float calibrateMagStartTime = 0; //地磁校准开始时刻
     void RefreshResetMagBtn() 
     {
@@ -205,7 +205,7 @@ public class DeviceCalibrateView : MonoBehaviour, MenuBackInterface
     [NonSerialized] public int flag_GyrCalibarateOperateAndFinish = -1;
     public Action action_GyrCalibarateOperateAndFinish;
     public Func<bool> action_OnClickGyrCalibrateInterceptor;
-    bool gyrCalibrating = false;
+    [NonSerialized] public bool gyrCalibrating = false;
     void ClickGyrCalibrate() 
     {
         if (action_OnClickGyrCalibrateInterceptor != null) {