lvjincheng 3 years ago
parent
commit
f4e9c78e6b

+ 8 - 8
Assets/BowArrow/Modules/NewUserGuider/NewUserGuider.prefab

@@ -381,8 +381,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: -124.999985}
-  m_SizeDelta: {x: 314, y: 240}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 243, y: 500}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &3835120307437960358
 CanvasRenderer:
@@ -847,8 +847,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 40, y: -30}
-  m_SizeDelta: {x: 0, y: 40}
+  m_AnchoredPosition: {x: 50, y: -30}
+  m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 1}
 --- !u!222 &5795546906268117621
 CanvasRenderer:
@@ -903,8 +903,8 @@ MonoBehaviour:
   m_Padding:
     m_Left: 10
     m_Right: 0
-    m_Top: 0
-    m_Bottom: 0
+    m_Top: 10
+    m_Bottom: 10
   m_ChildAlignment: 3
   m_Spacing: 0
   m_ChildForceExpandWidth: 0
@@ -927,7 +927,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_HorizontalFit: 2
-  m_VerticalFit: 0
+  m_VerticalFit: 2
 --- !u!114 &2649175593371078772
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1128,7 +1128,7 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 1ad2cf6c2f09744489d8c60b3fe3bab2, type: 3}
-    m_FontSize: 24
+    m_FontSize: 25
     m_FontStyle: 0
     m_BestFit: 0
     m_MinSize: 2

+ 134 - 81
Assets/BowArrow/Modules/NewUserGuider/NewUserGuiderManager.cs

@@ -87,16 +87,22 @@ public class NewUserGuiderManager : MonoBehaviour
         NewUserGuiderConfig config = new NewUserGuiderConfig();
         config.key = "模块开机";
         config.hitPosType = 1;
-        config.hitPos = new Vector2(-86.4f, -70.3f); 
+        config.hitPos = new Vector2(-138.9f, -56.1f); 
         config.pointerRotZ = 120;
         config.pointerPosType = 1;
-        config.pointerPos = new Vector2(-155, -31);
-        config.frameTipPivot = "lb";
+        config.pointerPos = new Vector2(-205, 4);
+        config.frameTipPivot = "lc";
         config.frameTipPosType = 1;
-        config.frameTipPos = new Vector2(-73.5f, 14);
-        config.onStart = (g) => g.transform.Find("IconModule").gameObject.SetActive(true);
+        config.frameTipPos = new Vector2(0, 0);
+        config.onStart = (g) => {
+            RectTransform iconModule = g.transform.Find("IconModule") as RectTransform;
+            iconModule.anchoredPosition = new Vector2(-146, -39);
+            iconModule.gameObject.SetActive(true);
+            g.SetIconPointerHitOpacity(0.2f);
+        };
         configs.Add(config.key, config);
 
+
         config = new NewUserGuiderConfig();
         config.key = "连接设备";
         config.frameTipPivot = "lb";
@@ -104,15 +110,24 @@ public class NewUserGuiderManager : MonoBehaviour
         config.onPrepare = (g) => {
             RectTransform btn = GameObject.Find("HomeView/HomeViewRenderBow/Btn").GetComponent<RectTransform>();
             g.hollowOutMask.SetTarget(btn);
-            g.hollowOutMask.isTargetRectCanThrough = false;
+            // g.hollowOutMask.isTargetRectCanThrough = false;
             
             g.SetIconPointerHitOpacity(0.5f);
             g.config.hitPos = btn.position;
             g.config.pointerPos = btn.position + RectTransformUtils.CanvasV3ToScreenV3(Vector3.up * 80f, btn);
             g.config.frameTipPos = btn.position + RectTransformUtils.CanvasV3ToScreenV3(Vector3.up * 150f, btn);
         };
+        config.onStart = (g) => {
+            g.GetMaskClickedEvent().RemoveAllListeners();
+            g.GetMaskClickedEvent().AddListener(() => {
+                if (BluetoothAim.ins.status == BluetoothStatusEnum.ConnectSuccess) {
+                    g.OnClick_ToNext();
+                }
+            });
+        };
         configs.Add(config.key, config);
 
+
         config = new NewUserGuiderConfig();
         config.key = "弓箭详情";
         config.frameTipPivot = "lt";
@@ -123,14 +138,19 @@ public class NewUserGuiderManager : MonoBehaviour
             g.config.hitPos = RectTransformUtils.GetPositionByPivot(btn, Vector2.one * 0.5f);
             g.config.pointerPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.8f, 0.7f));
             g.config.frameTipPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.8f, 0.5f));
-
-            HomeViewRenderBow homeViewRenderBow = FindObjectOfType<HomeViewRenderBow>();
-            if (homeViewRenderBow) {
-                g.clickedWillPlayAudioBtn = false;
-                g.GetMaskClickedEvent().AddListener(homeViewRenderBow.OnClick_ShowDeviceView);
-            }
-            
         };
+        config.onStart = (g) => {
+            g.GetMaskClickedEvent().RemoveAllListeners();
+            g.GetNewUserGuiderButton().onClick += () => {
+                HomeViewRenderBow homeViewRenderBow = FindObjectOfType<HomeViewRenderBow>();
+                if (homeViewRenderBow) {
+                    homeViewRenderBow.OnClick_ShowDeviceView();
+                    g.clickedWillPlayAudioBtn = false;
+                    g.OnClick_ToNext();      
+                }
+            };
+        };
+
         configs.Add(config.key, config);
 
 
@@ -146,7 +166,7 @@ public class NewUserGuiderManager : MonoBehaviour
 
             RectTransform btn = DeviceView1.ins.transform.Find("ItemInfo/BowOptions/GyrCalibrate") as RectTransform;
             g.hollowOutMask.SetTarget(btn);
-            g.hollowOutMask.isTargetRectCanThrough = false;
+            // g.hollowOutMask.isTargetRectCanThrough = false;
             g.SetIconPointerHitOpacity(0.8f);
             g.config.hitPos = RectTransformUtils.GetPositionByPivot(btn, Vector2.one * 0.5f);
             g.config.pointerRotZ = 180;
@@ -154,6 +174,18 @@ public class NewUserGuiderManager : MonoBehaviour
             g.config.frameTipPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.3f, 0))
                 + RectTransformUtils.CanvasV3ToScreenV3(Vector3.down * 80f, g.iconPointer);
         };
+        config.onStart = (g) => {
+            g.GetMaskClickedEvent().RemoveAllListeners();
+            Action onclickTarget = () => {
+                g.gameObject.SetActive(false);
+                DeviceCalibrateView.ins.action_OnDestroy += () => {
+                    g.clickedWillPlayAudioBtn = false;
+                    g.OnClick_ToNext();
+                };
+            };
+            DeviceView1.ins.action_OnClickGyr += onclickTarget;
+            g.action_OnDestroy += () => DeviceView1.ins.action_OnClickGyr -= onclickTarget;
+        };
         configs.Add(config.key, config);
 
 
@@ -169,19 +201,29 @@ public class NewUserGuiderManager : MonoBehaviour
 
             RectTransform btn = DeviceView1.ins.transform.Find("ItemInfo/BowOptions/MagCalibrate") as RectTransform;
             g.hollowOutMask.SetTarget(btn);
-            g.hollowOutMask.isTargetRectCanThrough = false;
+            // g.hollowOutMask.isTargetRectCanThrough = false;
             g.SetIconPointerHitOpacity(0.8f);
             g.config.hitPos = RectTransformUtils.GetPositionByPivot(btn, Vector2.one * 0.5f);
             g.config.pointerRotZ = 180;
             g.config.pointerPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(-0.1f, 0.2f));
             g.config.frameTipPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.3f, 0))
                 + RectTransformUtils.CanvasV3ToScreenV3(Vector3.down * 60f, g.iconPointer);
-
-            DeviceView1 deviceView1 = FindObjectOfType<DeviceView1>();
-            if (deviceView1) {
-                g.clickedWillPlayAudioBtn = false;
-                g.GetMaskClickedEvent().AddListener(deviceView1.OnClick_Back);
-            }
+        };
+        config.onStart = (g) => {
+            g.GetMaskClickedEvent().RemoveAllListeners();
+            Action onclickTarget = () => {
+                g.gameObject.SetActive(false);
+                DeviceCalibrateView.ins.action_OnDestroy += () => {
+                    FindObjectOfType<DeviceView1>()?.OnClick_Back();
+                    g.clickedWillPlayAudioBtn = false;
+                    g.OnClick_ToNext();
+                };
+            };
+            DeviceView1.ins.action_OnClickMag += onclickTarget;
+            g.action_OnDestroy += () => {
+                if (!DeviceView1.ins) return;
+                DeviceView1.ins.action_OnClickMag -= onclickTarget;
+            };
         };
         configs.Add(config.key, config);
 
@@ -272,13 +314,19 @@ public class NewUserGuiderManager : MonoBehaviour
         config.onPrepare = (g) => {
             RectTransform btn = GameObject.Find("HomeView/RightPanel/Item").GetComponent<RectTransform>();
             g.hollowOutMask.SetTarget(btn);
-            g.hollowOutMask.isTargetRectCanThrough = false;
+            // g.hollowOutMask.isTargetRectCanThrough = false;
             g.config.hitPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.5f, 0.6f));
             g.config.pointerPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.8f, 0.9f));
             g.config.frameTipPos = RectTransformUtils.GetPositionByPivot(btn, Vector2.zero);
-            g.GetMaskClickedEvent().AddListener(() => {
-                GameObject.Instantiate(SceneResMgr.ins.GetPrefab("GameStartView"));
-            });
+        };
+        config.onStart = (g) => {
+            g.GetMaskClickedEvent().RemoveAllListeners();
+            Action onClickTarget = () => {
+                g.clickedWillPlayAudioBtn = false;
+                g.OnClick_ToNext();
+            };
+            HomeView.ins.action_OnClickStartGame += onClickTarget;
+            g.action_OnDestroy += () => HomeView.ins.action_OnClickStartGame -= onClickTarget;
         };
         configs.Add(config.key, config);
 
@@ -295,22 +343,14 @@ public class NewUserGuiderManager : MonoBehaviour
 
             RectTransform btn = GameStartView.ins.transform.Find("EntryList/Item (1)") as RectTransform;
             g.hollowOutMask.SetTarget(btn);
-            g.hollowOutMask.isTargetRectCanThrough = false;
+            // g.hollowOutMask.isTargetRectCanThrough = false;
             g.config.hitPos = RectTransformUtils.GetPositionByPivot(btn, Vector2.one * 0.5f);
             g.config.pointerRotZ = 180;
             g.config.pointerPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.2f, 0.3f));
             g.config.frameTipPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.4f, 0.15f));
         };
         config.onStart = (g) => {
-            GameStartView gameStartView = FindObjectOfType<GameStartView>();
-            if (gameStartView) {
-                string ck = g.config.key;
-                g.GetMaskClickedEvent().RemoveAllListeners();
-                g.GetMaskClickedEvent().AddListener(() => {
-                    gameStartView.GoTo("限时");
-                    //后续在NewUserGuiderManager.onSceneLoaded触发
-                });
-            }
+            g.GetMaskClickedEvent().RemoveAllListeners();
         };
         configs.Add(config.key, config);
 
@@ -329,16 +369,23 @@ public class NewUserGuiderManager : MonoBehaviour
 
             RectTransform btn = TimeLimitGameDistanceSelectView.ins.transform.Find("Layout/Item") as RectTransform;
             g.hollowOutMask.SetTarget(btn);
-            g.hollowOutMask.isTargetRectCanThrough = false;
+            // g.hollowOutMask.isTargetRectCanThrough = false;
             g.config.hitPos = RectTransformUtils.GetPositionByPivot(btn, Vector2.one * 0.5f);
             g.config.pointerRotZ = -30;
             g.config.pointerPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(0.85f, 0.5f));
             g.config.frameTipPos = RectTransformUtils.GetPositionByPivot(btn, new Vector2(1.15f, 0.4f));
-
-            g.clickedWillPlayAudioBtn = false;
-            g.GetMaskClickedEvent().AddListener(() => {
-                btn.GetComponent<Button>().onClick.Invoke();
-            });
+        };
+        config.onStart = (g) => {
+            g.GetMaskClickedEvent().RemoveAllListeners();
+            Action onClickTarget = () => {
+                g.clickedWillPlayAudioBtn = false;
+                g.OnClick_ToNext();
+            };
+            TimeLimitGameDistanceSelectView.ins.action_OnClickSelectDistance += onClickTarget;
+            g.action_OnDestroy += () => {
+                if (!TimeLimitGameDistanceSelectView.ins) return;
+                TimeLimitGameDistanceSelectView.ins.action_OnClickSelectDistance -= onClickTarget;
+            };
         };
         configs.Add(config.key, config);
 
@@ -348,12 +395,6 @@ public class NewUserGuiderManager : MonoBehaviour
         config.frameTipPivot = "rb";
         config.frameTipPos = Vector2.zero;
         config.onPrepare = (g) => {
-            if (!GameAssistUI.ins) {
-                g.customPreparePass = false;
-                return;
-            }
-            g.customPreparePass = true;
-            g.hollowOutMask.isTargetRectCanThrough = false;
             RectTransform btn4 = GameAssistUI.ins.transform.Find("Button4") as RectTransform;
             g.hollowOutMask.SetTarget(btn4);
             RectTransform btn4_img = btn4.Find("Image") as RectTransform;
@@ -362,10 +403,6 @@ public class NewUserGuiderManager : MonoBehaviour
             g.config.pointerPos = btn4_img.position + RectTransformUtils.CanvasV3ToScreenV3(new Vector3(-60, 60), btn4);
             g.config.frameTipPos = btn4_img.position + RectTransformUtils.CanvasV3ToScreenV3(new Vector3(-120, 120), btn4);
 
-            // g.clickedWillPlayAudioBtn = false;
-            // g.GetMaskClickedEvent().AddListener(() => {
-            //     btn4.GetComponent<Button>().onClick.Invoke();
-            // });
             GameMode gameMode = GameMgr.ins.gameMode;
             if (gameMode.GetType().Equals(typeof(TimeLimitGameMode))) {
                 gameMode.PauseTimeCounting(g);
@@ -374,45 +411,56 @@ public class NewUserGuiderManager : MonoBehaviour
         };
         config.onStart = (g) => {
             g.GetMaskClickedEvent().RemoveAllListeners();
-            g.GetNewUserGuiderButton().onClick += g.OnClick_ToNext;
+            Action onClickTarget = () => {
+                g.gameObject.SetActive(false);
+                AutoResetView.ins.action_OnDestroy += () => {
+                    DoTweenUtil.CallDelay(1, () => {
+                        if (!g) return;
+                        g.clickedWillPlayAudioBtn = false;
+                        g.OnClick_ToNext();
+                    });
+                };
+            };
+            GameAssistUI.ins.action_OnClickBtnIdentity += onClickTarget;
+            g.action_OnDestroy += () => GameAssistUI.ins.action_OnClickBtnIdentity -= onClickTarget;
         };
         configs.Add(config.key, config);
 
 
-        config = new NewUserGuiderConfig();
-        config.key = "视角归位-瞄准";
-        config.frameTipPivot = "lc";
-        config.onPrepare = (g) => {
-            float rectSideLen = RectTransformUtils.ScreenV3ToCanvasV3(Vector3.right * Screen.height * 100 / 720f, g.GetComponent<RectTransform>()).x;
-            Vector2 rectSize = new Vector2(rectSideLen, rectSideLen);
-            RectTransform iconRect = g.transform.Find("IconRect") as RectTransform;
-            iconRect.sizeDelta = rectSize;
-            iconRect.gameObject.SetActive(true);
+        // config = new NewUserGuiderConfig();
+        // config.key = "视角归位-瞄准";
+        // config.frameTipPivot = "lc";
+        // config.onPrepare = (g) => {
+        //     float rectSideLen = RectTransformUtils.ScreenV3ToCanvasV3(Vector3.right * Screen.height * 100 / 720f, g.GetComponent<RectTransform>()).x;
+        //     Vector2 rectSize = new Vector2(rectSideLen, rectSideLen);
+        //     RectTransform iconRect = g.transform.Find("IconRect") as RectTransform;
+        //     iconRect.sizeDelta = rectSize;
+        //     iconRect.gameObject.SetActive(true);
 
-            g.hollowOutMask.isTargetRectCanThrough = false;
-            g.hollowOutMask.SetTarget(iconRect);
+        //     g.hollowOutMask.isTargetRectCanThrough = false;
+        //     g.hollowOutMask.SetTarget(iconRect);
 
-            g.config.hitPosType = 1;
-            g.config.hitPos = Vector2.zero;
+        //     g.config.hitPosType = 1;
+        //     g.config.hitPos = Vector2.zero;
 
-            g.config.pointerPosType = 1;
-            g.config.pointerRotZ = 120;
-            g.config.pointerPos = new Vector2(-rectSideLen / 2 * 1.2f, rectSideLen / 2 * 1.1f);
+        //     g.config.pointerPosType = 1;
+        //     g.config.pointerRotZ = 120;
+        //     g.config.pointerPos = new Vector2(-rectSideLen / 2 * 1.2f, rectSideLen / 2 * 1.1f);
 
-            RectTransform iconHumanShoot = g.transform.Find("IconHumanShoot") as RectTransform;
-            iconHumanShoot.anchoredPosition = g.config.pointerPos;
-            iconHumanShoot.gameObject.SetActive(true);
+        //     RectTransform iconHumanShoot = g.transform.Find("IconHumanShoot") as RectTransform;
+        //     iconHumanShoot.anchoredPosition = g.config.pointerPos;
+        //     iconHumanShoot.gameObject.SetActive(true);
 
-            g.config.frameTipPosType = 1;
-            g.config.frameTipPos = new Vector2(rectSideLen / 2 * 1.3f, 0);
+        //     g.config.frameTipPosType = 1;
+        //     g.config.frameTipPos = new Vector2(rectSideLen / 2 * 1.3f, 0);
 
-            GameMode gameMode = GameMgr.ins.gameMode;
-            if (gameMode.GetType().Equals(typeof(TimeLimitGameMode))) {
-                gameMode.PauseTimeCounting(g);
-                g.action_OnDestroy += () => gameMode.ResumeTimeCounting(g);
-            }
-        };
-        configs.Add(config.key, config);
+        //     GameMode gameMode = GameMgr.ins.gameMode;
+        //     if (gameMode.GetType().Equals(typeof(TimeLimitGameMode))) {
+        //         gameMode.PauseTimeCounting(g);
+        //         g.action_OnDestroy += () => gameMode.ResumeTimeCounting(g);
+        //     }
+        // };
+        // configs.Add(config.key, config);
 
 
         config = new NewUserGuiderConfig();
@@ -443,6 +491,7 @@ public class NewUserGuiderManager : MonoBehaviour
             warn_test = true;
             Debug.LogWarning("F3-重置设备校准引导,规则引导");
             Debug.LogWarning("F4-重置新手引导记录");
+            Debug.LogWarning("F5-新手引导强行下一步");
         }
         if (Input.GetKeyDown(KeyCode.F3)) {
             Debug.Log("重置设备校准引导,规则引导");
@@ -454,6 +503,10 @@ public class NewUserGuiderManager : MonoBehaviour
             Debug.Log("重置新手引导记录");
             SaveUserGuideFinished(false);
         }
+        if (Input.GetKeyDown(KeyCode.F5)) {
+            Debug.Log("新手引导强行下一步");
+            FindObjectOfType<NewUserGuider>()?.OnClick_ToNext();
+        }
     }
     #endif
 
@@ -475,7 +528,7 @@ public class NewUserGuiderManager : MonoBehaviour
         "开始-限时游戏",
         "限时游戏-选择距离",
         "视角归位-触发",
-        "视角归位-瞄准",
+        // "视角归位-瞄准",
         "教程结束",
     });
 

BIN
Assets/BowArrow/Modules/NewUserGuider/Textures/IconModule.png


+ 7 - 7
Assets/BowArrow/Resources/Prefabs/Views/CourseView.prefab

@@ -68,11 +68,11 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 12800000, guid: 1ad2cf6c2f09744489d8c60b3fe3bab2, type: 3}
-    m_FontSize: 16
+    m_FontSize: 22
     m_FontStyle: 0
     m_BestFit: 1
     m_MinSize: 0
-    m_MaxSize: 16
+    m_MaxSize: 22
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
@@ -313,8 +313,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 1, y: 0.5}
   m_AnchorMax: {x: 1, y: 0.5}
-  m_AnchoredPosition: {x: 18.5, y: 0}
-  m_SizeDelta: {x: 80, y: 38}
+  m_AnchoredPosition: {x: 18.5, y: 5}
+  m_SizeDelta: {x: 100, y: 50}
   m_Pivot: {x: 1, y: 0.5}
 --- !u!222 &4919944601704202164
 CanvasRenderer:
@@ -508,7 +508,7 @@ RectTransform:
   m_GameObject: {fileID: 5822578836178350386}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1.279375, y: 1.279375, z: 1.279375}
+  m_LocalScale: {x: 1.2228259, y: 1.2228259, z: 1.2228259}
   m_Children: []
   m_Father: {fileID: 5822578837464263678}
   m_RootOrder: 0
@@ -893,7 +893,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u6559\u7A0B"
+  m_Text: "\u65B0\u624B\u5F15\u5BFC"
 --- !u!114 &5822578836786930200
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -921,7 +921,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: b7cbfcb0916cf694fb3d059ea4b4c1da, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  textID: 21
+  textID: 318
   layoutRebuildObject: {fileID: 0}
   textFormatArgs: []
   languageFontSizes: []

+ 2 - 2
Assets/BowArrow/Scripts/Components/TextAutoLanguage.cs

@@ -250,7 +250,7 @@ class LanguageDefault {
     public string text314 = "{0}克";
     //SetUpView1
     public string text315 = "游戏设置";
-    public string text318 = "游戏教程";
+    public string text318 = "新手引导";
     public string text301 = "关于我们";
     public string text316 = "用户协议";
     public string text317 = "隐私政策";
@@ -453,7 +453,7 @@ class LanguageEnglish : LanguageDefault {
     public new string text314 = "{0}Gram";
     //SetUpView1
     public new string text315 = "Game Settings";
-    public new string text318 = "Game Course";
+    public new string text318 = "Novice Guidance";
     public new string text301 = "About Us";
     public new string text316 = "User Agreement";
     public new string text317 = "Privacy Agreement";

+ 6 - 6
Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/cn.json

@@ -30,10 +30,10 @@
     
     "new-user-guider_btn_skip": "跳过教程",
     "new-user-guider_tip_模块开机": "长按模块上的<color=#FFA500>“开机”</color>键,当绿灯闪\n烁时,即模块处于等待连接的状态。",
-    "new-user-guider_tip_连接设备": "点击<color=#FFA500>“连接”</color>等待设备提示连接成功,\n此时模块处于绿灯常亮的状态。",
+    "new-user-guider_tip_连接设备": "点击<color=#FFA500>“连接”</color>等待设备提示连接成功,\n此时模块绿灯常亮的状态。",
     "new-user-guider_tip_弓箭详情": "点击<color=#FFA500>弓箭</color>,查看更多信息。",
-    "new-user-guider_tip_设备-陀螺仪校准": "将安装了模块的智能弓箭<color=#FFA500>静置在一个平面</color>",
-    "new-user-guider_tip_设备-地磁计校准": "将安装了模块的智能弓箭<color=#FFA500>沿着每一个轴旋转</color>",
+    "new-user-guider_tip_设备-陀螺仪校准": "将安装了模块的智能弓箭<color=#FFA500>静置在一个平面</color>,\n再点击陀螺仪校准。",
+    "new-user-guider_tip_设备-地磁计校准": "将安装了模块的智能弓箭<color=#FFA500>沿着每一个轴旋转</color>,\n直到提示校准完成。",
     "new-user-guider_tip_查看设置": "点击<color=#FFA500>设置</color>了解更多",
     "new-user-guider_tip_查看商城": "点击查看<color=#FFA500>商城</color>",
     "new-user-guider_tip_切换好友/排行榜": "点击切换<color=#FFA500>好友/排行榜</color>",
@@ -42,9 +42,9 @@
     "new-user-guider_tip_开始游戏": "点击<color=#FFA500>开始游戏</color>,开始对局吧!",
     "new-user-guider_tip_开始-限时游戏": "点击<color=#FFA500>“限时游戏”</color>选择游戏类型",
     "new-user-guider_tip_限时游戏-选择距离": "选择距离<color=#FFA500>“10米”</color>开始游戏吧!",
-    "new-user-guider_tip_视角归位-触发": "点击<color=#FFA500>视角归位按钮,按完按键后立刻以标准射箭\n姿势瞄准靶心</color>,3秒后完成视角的自动归位。",
-    "new-user-guider_tip_视角归位-瞄准": "请参考图中小人的姿势,<color=#FFA500>立即瞄准屏幕中\n的靶心</color>,3秒后完成视角的自动归位。",
-    "new-user-guider_tip_教程结束": "恭喜您完成了本次新手教程,下次如果还\n要<color=#FFA500>了解本教程</color>请在<color=#FFA500>游戏教程中选择新手指导</color>。",
+    "new-user-guider_tip_视角归位-触发": "点击<color=#FFA500>视角归位按键立刻以标准射箭\n姿势瞄准靶心</color>,3秒后完成视角的自动归位。",
+    "new-user-guider_tip_视角归位-瞄准": "请参考图中姿势,<color=#FFA500>立即瞄准靶心</color>,\n3秒后完成视角的自动归位。",
+    "new-user-guider_tip_教程结束": "恭喜您完成了本次新手教程,下次如果还\n要<color=#FFA500>了解本教程</color>,请在<color=#FFA500>设置中查看新手指导</color>。",
     
     "setup_fix-game-bg": "固定游戏背景",
     "setup_train-mode": "训练模式",

+ 3 - 3
Assets/BowArrow/Scripts/Components/TextAutoLanguage2/Resources/TextAutoLanguage2/en.json

@@ -32,8 +32,8 @@
     "new-user-guider_tip_模块开机": "Press and hold the <color=#FFA500>\"Power on\"</color> key \non the module, and when the green \nlight flashes, the module is in the \nstate of waiting for connection.",
     "new-user-guider_tip_连接设备": "Click <color=#FFA500>\"Connect\"</color> and wait for the device to \nprompt that the connection is successful. \nAt this time, the module is in the green state.",
     "new-user-guider_tip_弓箭详情": "Click the <color=#FFA500>arrow</color> to see more information.",
-    "new-user-guider_tip_设备-陀螺仪校准": "Place the smart bow with the module <color=#FFA500>installed on a plane</color>",
-    "new-user-guider_tip_设备-地磁计校准": "Rotate the smart bow with modules <color=#FFA500>installed along each axis</color>",
+    "new-user-guider_tip_设备-陀螺仪校准": "Place the smart bow with the module <color=#FFA500>installed on a plane</color>, \nand then click GyrCalibrate.",
+    "new-user-guider_tip_设备-地磁计校准": "Rotate the smart bow with modules <color=#FFA500>installed along each axis</color>, \nuntil prompted that calibration is completed.",
     "new-user-guider_tip_查看设置": "Click <color=#FFA500>SetUp</color> to learn more",
     "new-user-guider_tip_查看商城": "Click to view the <color=#FFA500>Shop</color>",
     "new-user-guider_tip_切换好友/排行榜": "Click to switch <color=#FFA500>friend/rand</color>",
@@ -44,7 +44,7 @@
     "new-user-guider_tip_限时游戏-选择距离": "Choose <color=#FFA500>\"10M\"</color> to start the game!",
     "new-user-guider_tip_视角归位-触发": "Click <color=#FFA500>the aim reset button, and immediately aim at the bull's-eye \nin the standard archery posture after pressing the button</color>, and then \ncomplete the automatic angle homing 3 seconds later.",
     "new-user-guider_tip_视角归位-瞄准": "Please refer to the small person's \nposture in the figure, <color=#FFA500>immediately \naim at the bull's-eye in the screen</color>, \ncomplete the automatic homing of \nthe viewing angle in 3 seconds.",
-    "new-user-guider_tip_教程结束": "Congratulations on completing this novice tutorial. If you want to <color=#FFA500>know this \ntutorial</color> next time, please <color=#FFA500>select the novice guidance in the game course.</color>",
+    "new-user-guider_tip_教程结束": "Congratulations on completing this novice tutorial. If you want to <color=#FFA500>know this \ntutorial</color> next time, please <color=#FFA500>see the novice guidance in the setup.</color>",
 
     "setup_fix-game-bg": "FixGameBG",
     "setup_train-mode": "TrainMode",

+ 4 - 1
Assets/BowArrow/Scripts/Expand/AutoResetView.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -12,7 +13,7 @@ using UnityEngine.SceneManagement;
 public class AutoResetView : MonoBehaviour
 {
     [SerializeField] TextAutoLanguage2 prepareTipText;
-    static AutoResetView ins;
+    public static AutoResetView ins;
 
     public static void DoIdentity() {
         if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name.StartsWith("Game")) {
@@ -40,8 +41,10 @@ public class AutoResetView : MonoBehaviour
         ChallengeTargetForResetView.Show();
     }
 
+    public Action action_OnDestroy;
     void OnDestroy() {
         if (ins == this) ins = null;
+        action_OnDestroy?.Invoke();
     }
 
     float prepareTime = 3;

+ 3 - 0
Assets/BowArrow/Scripts/Game/GameAssistUI.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -12,6 +13,7 @@ public class GameAssistUI : MonoBehaviour
     [SerializeField] Text text2;
     Button btnScaleAim;
     Button btnScaleShoot;
+    public Action action_OnClickBtnIdentity;
 
     public static GameAssistUI ins;
 
@@ -61,6 +63,7 @@ public class GameAssistUI : MonoBehaviour
             if (btnIdentity.GetComponent<LongPressMonitor>().isLongPress) return;
             AudioMgr.ins.PlayBtn();
             AutoResetView.DoIdentity();
+            action_OnClickBtnIdentity?.Invoke();
         });
         btnIdentity.gameObject.AddComponent<LongPressMonitor>().onLongPress += () => {
             AudioMgr.ins.PlayBtn();

+ 3 - 0
Assets/BowArrow/Scripts/View/DeviceCalibrateView.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -12,6 +13,7 @@ public class DeviceCalibrateView : MonoBehaviour, MenuBackInterface
     [SerializeField] Button btnBack;
     [SerializeField] Button btnNext;
     [SerializeField] Button btnFinish;
+    public Action action_OnDestroy; 
 
     public DeviceCalibrateItem deviceCalibrateItem = DeviceCalibrateItem.Guide;
     DeviceCalibrateItem[] deviceCalibrateItemForGuide = {
@@ -92,6 +94,7 @@ public class DeviceCalibrateView : MonoBehaviour, MenuBackInterface
         // if (magCalibrating) {
         //     AimHandler.ins.CalibrateMag(false);
         // }
+        action_OnDestroy?.Invoke();
     }
 
     public bool OnMenuBack() {

+ 6 - 0
Assets/BowArrow/Scripts/View/DeviceView1.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -10,6 +11,9 @@ public class DeviceView1 : MonoBehaviour, MenuBackInterface
     [SerializeField] GameObject btnConnectBow;
     public static DeviceView1 ins;
 
+    public Action action_OnClickGyr;
+    public Action action_OnClickMag;
+
     void Start()
     {
         ins = this;
@@ -32,9 +36,11 @@ public class DeviceView1 : MonoBehaviour, MenuBackInterface
                 {
                     case 0:
                         DeviceCalibrateView.Create(DeviceCalibrateItem.Gyr);
+                        action_OnClickGyr?.Invoke();
                         break;
                     case 1:
                         DeviceCalibrateView.Create(DeviceCalibrateItem.Mag);
+                        action_OnClickMag?.Invoke();
                         break;
                 }
             });

+ 2 - 0
Assets/BowArrow/Scripts/View/HomeView.cs

@@ -80,6 +80,7 @@ public class HomeView : MonoBehaviour
         } catch (System.Exception) {}
     }
 
+    public Action action_OnClickStartGame;
     public void GoTo(string target) {
         AudioMgr.ins.PlayBtn();
         switch (target)
@@ -90,6 +91,7 @@ public class HomeView : MonoBehaviour
                     return;
                 }
                 GameObject.Instantiate(SceneResMgr.ins.GetPrefab("GameStartView"));
+                action_OnClickStartGame?.Invoke();
                 break;
             case "联机游戏":
                 if (CommonConfig.isReleaseVersion && !BluetoothStatus.IsAllConnected()) {

+ 3 - 0
Assets/BowArrow/Scripts/View/TimeLimitGameDistanceSelectView.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -6,6 +7,7 @@ using UnityEngine.UI;
 public class TimeLimitGameDistanceSelectView : MonoBehaviour
 {
     public static TimeLimitGameDistanceSelectView ins;
+    public Action action_OnClickSelectDistance;
 
     void Awake() 
     {
@@ -36,6 +38,7 @@ public class TimeLimitGameDistanceSelectView : MonoBehaviour
                 TimeLimitGameMode.distance = distance;
                 ((TimeLimitGameMode) GameMgr.ins.gameMode).ConfirmSelectedTargetDistance();
                 Destroy(this.gameObject);
+                action_OnClickSelectDistance?.Invoke();
             });
         }