Jelajahi Sumber

调用前预判目标是否有效

lvjincheng 3 tahun lalu
induk
melakukan
9787e17f10

+ 1 - 1
Assets/BowArrow/DebugShoot/DebugLine.cs

@@ -31,7 +31,7 @@ public class DebugLine : MonoBehaviour
 
     void OnDestroy()
     {
-        ins = null;
+        if (ins == this) ins = null;
     }
 
     public static void show(float value) 

+ 1 - 1
Assets/BowArrow/Scripts/Game/GameAssistUI.cs

@@ -78,8 +78,8 @@ public class GameAssistUI : MonoBehaviour
     }
 
     void OnDestroy() {
-        SaveMyRecord();
         if (ins == null) ins = null;
+        SaveMyRecord();
     }
 
     void Update() {

+ 1 - 1
Assets/BowArrow/Scripts/GameChallenge/Views/HuntGameSelectLevelView.cs

@@ -37,6 +37,6 @@ public class HuntGameSelectLevelView : MonoBehaviour
 
     void OnDestroy()
     {
-        GameMgr.ins.removeLockerForGamePause(this);
+        if (GameMgr.ins) GameMgr.ins.removeLockerForGamePause(this);
     }
 }

+ 1 - 1
Assets/BowArrow/Scripts/View/DeviceReconnectView.cs

@@ -45,8 +45,8 @@ public class DeviceReconnectView : MonoBehaviour
 
     void OnDestroy()
     {
-        GameMgr.ins.removeLockerForGamePause(this);
         if (ins == this) ins = null;
+        if (GameMgr.ins) GameMgr.ins.removeLockerForGamePause(this);
     }
 
     void Update()

+ 1 - 1
Assets/BowArrow/Scripts/View/GameRuleView.cs

@@ -29,7 +29,7 @@ public class GameRuleView : MonoBehaviour
     {
         createLock = false;
         if (GlobalData.pkMatchType != PKMatchType.OnlinePK) {
-            GameMgr.ins.removeLockerForGamePause(this);
+            if (GameMgr.ins) GameMgr.ins.removeLockerForGamePause(this);
         }
     }
 

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

@@ -31,8 +31,8 @@ public class PKGameReadyView : MonoBehaviour
     {
         if (ins == this) ins = null;
         if (isDiscarded) return;
-        GameObject.FindObjectOfType<ArmBow>().Show();
-        GameMgr.ins.gameMode.UnbanBowReady();
+        if (ArmBow.ins) ArmBow.ins.Show();
+        if (GameMgr.ins) GameMgr.ins.gameMode.UnbanBowReady();
     }
 
     void InitPKGameMode() {

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

@@ -70,9 +70,9 @@ public class PKGameReadyView_Challenge : MonoBehaviour
     void OnDestroy()
     {
         if (ins == this) ins = null;
-        GameMgr.ins.removeLockerForGamePause(this);
+        if (GameMgr.ins) GameMgr.ins.removeLockerForGamePause(this);
         if (isDiscarded) return;
-        GameObject.FindObjectOfType<ArmBow>().Show();
+        if (ArmBow.ins) ArmBow.ins.Show();
         gameMode.UnbanBowReady();
     }
 }

+ 1 - 1
Assets/BowArrow/Scripts/View/TimeLimitGameDistanceSelectView.cs

@@ -35,6 +35,6 @@ public class TimeLimitGameDistanceSelectView : MonoBehaviour
 
     void OnDestroy()
     {
-        GameMgr.ins.removeLockerForGamePause(this);
+        if (GameMgr.ins) GameMgr.ins.removeLockerForGamePause(this);
     }
 }