Browse Source

修复:关卡编辑器无法保存靶子的修改的bug

XuJJ 6 days ago
parent
commit
7e92844cd8

+ 24 - 4
snipershooting/ShootSniper/Assets/Scripts/GamePlay/Shoot/Shooter/CamMoveCtrl.cs

@@ -10,6 +10,7 @@ using System.Text;
 using System.IO;
 using System.Reflection;
 using System;
+using UnityEngine.AddressableAssets;
 using Object = UnityEngine.Object;
 
 public class CamMoveCtrl : MonoBehaviour
@@ -19,7 +20,24 @@ public class CamMoveCtrl : MonoBehaviour
     public float rotateSpeed = 20f;
     // public float personHeight = 10f;
     // private float rotateX = 0, rotateY = 0;
-    private Transform mTargetGroup;
+    private Transform _targetGroup;
+    private Transform mTargetGroup
+    {
+        get
+        {
+            if (_targetGroup == null)
+            {
+                GameObject go = GameObject.Find("TargetGroup");
+                if (go)
+                {
+                    _targetGroup = go.transform;
+                }
+            }
+            
+            return _targetGroup;
+        }
+    }
+
     private InGamePlayer mShooter;
     private Vector3 offsetVec;
     private int mLevelID;
@@ -42,7 +60,7 @@ public class CamMoveCtrl : MonoBehaviour
         GameObject go = GameObject.Find("TargetGroup");
         if (go != null)
         {
-            mTargetGroup = go.transform;
+            _targetGroup = go.transform;
         }
         PlayerProxy pProxy = Core.DCore.getNetworkProxy();
         mLevelID = pProxy.param.choosenFieldID;
@@ -349,7 +367,8 @@ public class CamMoveCtrl : MonoBehaviour
         {
             return;
         }
-        GameObject prefab = Resources.Load<GameObject>("Prefabs/Targets/" + prefabName + ".prefab");
+        // GameObject prefab = Resources.Load<GameObject>("Prefabs/Targets/" + prefabName + ".prefab");
+        GameObject prefab = Addressables.LoadAssetAsync<GameObject>("Prefabs/Targets/" + prefabName + ".prefab").WaitForCompletion();
         if (prefab == null)
         {
             // Debug.LogError("这个靶子没有放到Resource/Prefabs/Targets中");
@@ -486,7 +505,8 @@ public class CamMoveCtrl : MonoBehaviour
         {
             return;
         }
-        GameObject prefab = Resources.Load<GameObject>("Prefabs/Targets/" + prefabName + ".prefab");
+        // GameObject prefab = Resources.Load<GameObject>("Prefabs/Targets/" + prefabName + ".prefab");
+        GameObject prefab = Addressables.LoadAssetAsync<GameObject>("Prefabs/Targets/" + prefabName + ".prefab").WaitForCompletion();
         if (prefab == null)
         {
             // Debug.LogError("这个靶子没有放到Resource/Prefabs/Targets中");