slambb 1 год назад
Родитель
Сommit
075a084a7d

+ 6 - 3
Assets/BowArrow/Scripts/Manager/HomeMgr.cs

@@ -2,6 +2,7 @@ using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using JCUnityLib;
+using UnityEngine.SceneManagement;
 
 /* Home场景管理者 */
 public class HomeMgr : MonoBehaviour
@@ -38,11 +39,12 @@ public class HomeMgr : MonoBehaviour
     void Start()
     {
         Time.timeScale = 1; //保证时间缩放为1
-        //现在b端进行单机版本
-        if (CommonConfig.StandaloneModeOrPlatformB)
+        //单机版本
+        if (CommonConfig.StandaloneMode)
         {
             DoTweenUtil.CallDelay(0.1f, () => new UserPlayer());
-            StandaloneAPI.InitTimeCounter();
+            //带投币功能-b端
+            if (CommonConfig.StandaloneModeOrPlatformB) StandaloneAPI.InitTimeCounter();
         }
         else UserPlayer.ConnectServer();
     }
@@ -58,4 +60,5 @@ public class HomeMgr : MonoBehaviour
         //ViewMgr.Instance.HideView<PKGameOptionView>();
         ViewMgr.Instance.HideView<PKMatchView>();
     }
+
 }

+ 9 - 0
Assets/BowArrow/Scripts/Manager/ViewMgr.cs

@@ -15,6 +15,8 @@ public class ViewMgr : ViewManager<ViewMgr>
         viewMgrCanvasScaler.matchWidthOrHeight = 0f;
         //设置视图组
         //SetViewGroup<HomeFrameView>(1);
+        Debug.Log("初始化绑定ViewManager2.HideAllView");
+        SceneManager.sceneUnloaded += OnSceneUnloaded;
     }
 
     //以下名称的预制体通过SceneResourceManager获取
@@ -27,4 +29,11 @@ public class ViewMgr : ViewManager<ViewMgr>
         if (scenePrefabs.Contains(viewName)) return SceneResourceManager.Instance.GetPrefab(viewName);
         return base.LoadViewPrefab("Home/" + viewName);
     }
+
+
+    void OnSceneUnloaded(Scene scene)
+    {
+        ViewManager2.HideAllView();
+    }
+ 
 }

+ 2 - 0
Assets/BowArrow/Scripts/Standalone/StandaloneAPI.cs

@@ -80,6 +80,8 @@ public class StandaloneAPI
             string sceneName = scene.name;
             if (sceneName.StartsWith("Game") || sceneName == "DuckHunter" || sceneName == "WildAttack" || sceneName == "FruitMaster")
             {
+                //操作引导场景不用投币
+                if (!GameMgr.bShowDistance && GameMgr.turnOffTimer) return;
                 Object.Instantiate(Resources.Load<GameObject>("GameTimeCounterSA"));
             }
         };

+ 2 - 5
Assets/BowArrow/Scripts/View/Home/HomeView_BottomBarView.cs

@@ -23,11 +23,8 @@ public class HomeView_BottomBarView : MonoBehaviour
 
         SortChildObjects(actionMap);
         // 按条件禁用特定按钮的交互性
-        switch (CommonConfig.OP)
-        {
-            case OperatingPlatform.B:
-                DisableButtonInteractivity(actionMap, new List<string> { "IconGuider", "IconFriend", "IconRank" });
-                break;
+        if (CommonConfig.StandaloneMode) {
+            DisableButtonInteractivity(actionMap, new List<string> { "IconGuider", "IconFriend", "IconRank" });
         }
     }
 

+ 12 - 12
Assets/SmartBow/Scripts/Views/GameResultView.cs

@@ -68,17 +68,17 @@ public class GameResultView : MonoBehaviour
         //ViewManager2.RemoveView(ViewManager2.Path_GameResultView);
     }
     //这个脚本存在时候。任何切换操作都直接处理删除
-    void OnSceneUnloaded(Scene scene)
-    {
-        ViewManager2.HideView(ViewManager2.Path_GameResultView);
-    }
-    void OnEnable()
-    {
-        SceneManager.sceneUnloaded += OnSceneUnloaded;
-    }
+    //void OnSceneUnloaded(Scene scene)
+    //{
+    //    ViewManager2.HideView(ViewManager2.Path_GameResultView);
+    //}
+    //void OnEnable()
+    //{
+    //    SceneManager.sceneUnloaded += OnSceneUnloaded;
+    //}
 
-    void OnDisable()
-    {
-        SceneManager.sceneUnloaded -= OnSceneUnloaded;
-    }
+    //void OnDisable()
+    //{
+    //    SceneManager.sceneUnloaded -= OnSceneUnloaded;
+    //}
 }

+ 22 - 15
Assets/SmartBow/Scripts/Views/InfraredViewParts/InfraredScreenPositioningView.cs

@@ -956,7 +956,14 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
             Debug.Log("-----进入射箭场景!");
             NewUserGuiderManager newUserGuiderManager = FindObjectOfType<NewUserGuiderManager>();
             newUserGuiderManager.curConfigKey = "开始-红外调整";
-            newUserGuiderManager.isNewModule = AimHandler.ins.aimDeviceInfo.type == (int)AimDeviceType.HOUYIPRO || AimHandler.ins.aimDeviceInfo.type == (int)AimDeviceType.Gun || AimHandler.ins.aimDeviceInfo.type == (int)AimDeviceType.ARTEMISPRO;
+            //b端都是红外设备流程
+            if (CommonConfig.StandaloneModeOrPlatformB)
+            {
+                newUserGuiderManager.isNewModule = true;
+            }
+            else {
+                newUserGuiderManager.isNewModule = AimHandler.ins.aimDeviceInfo.type == (int)AimDeviceType.HOUYIPRO || AimHandler.ins.aimDeviceInfo.type == (int)AimDeviceType.Gun || AimHandler.ins.aimDeviceInfo.type == (int)AimDeviceType.ARTEMISPRO;
+            }
             //进入射箭场景
             GlobalData.pkMatchType = PKMatchType.None;
             GameMgr.gameType = 1;
@@ -1122,20 +1129,20 @@ public class InfraredScreenPositioningView : JCUnityLib.ViewBase
     }
 
     //这个脚本存在时候。任何切换操作都直接处理删除
-    void OnSceneUnloaded(Scene scene)
-    {
-        ViewManager2.HideView(ViewManager2.Path_ConnectGuidanceView);
-        ViewManager2.HideView(ViewManager2.Path_InfraredScreenPositioningView);
-    }
-    void OnEnable()
-    {
-        SceneManager.sceneUnloaded += OnSceneUnloaded;
-    }
-
-    void OnDisable()
-    {
-        SceneManager.sceneUnloaded -= OnSceneUnloaded;
-    }
+    //void OnSceneUnloaded(Scene scene)
+    //{
+    //    ViewManager2.HideView(ViewManager2.Path_ConnectGuidanceView);
+    //    ViewManager2.HideView(ViewManager2.Path_InfraredScreenPositioningView);
+    //}
+    //void OnEnable()
+    //{
+    //    SceneManager.sceneUnloaded += OnSceneUnloaded;
+    //}
+
+    //void OnDisable()
+    //{
+    //    SceneManager.sceneUnloaded -= OnSceneUnloaded;
+    //}
 
     #endregion
 }

+ 15 - 0
Assets/SmartBow/Scripts/Views/ViewManager2.cs

@@ -111,6 +111,21 @@ public class ViewManager2
 
         return null; // 如果没有找到,则返回 null
     }
+    /**
+     * 跳转场景时候,所有UI视图
+     */
+    public static void HideAllView()
+    {
+        foreach (var viewCacheInfo in _ViewCacheInfos)
+        {
+            if (viewCacheInfo.gameObject)
+            {
+                Object.Destroy(viewCacheInfo.gameObject);
+            }
+        }
+        _ViewCacheInfos.Clear();
+    }
+
 
     public static void HideView(string path)
     {