Ver Fonte

场景特效添加移除

zhaoyang há 3 anos atrás
pai
commit
d5ac55229e

+ 8 - 0
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -319,5 +319,13 @@ namespace GFGGame
             wrapper = _wrapper;
             gameObject = _gameObject;
         }
+        public static void DestroyObjectFromView(GameObject _gameObject)
+        {
+            if (_gameObject != null)
+            {
+                GameObject.Destroy(_gameObject);
+                _gameObject = null;
+            }
+        }
     }
 }

+ 3 - 2
GameClient/Assets/Game/HotUpdate/Views/CommonGame/FunctionOpenView.cs

@@ -9,10 +9,11 @@ namespace GFGGame
     {
         private UI_FunctionOpenUI _ui;
         List<string> _funList = new List<string>();
-        private GameObject _effectObj;
+        private GameObject _gameObject;
         private GoWrapper _wrapper;
         public override void Dispose()
         {
+            SceneController.DestroyObjectFromView(_gameObject);
             base.Dispose();
         }
 
@@ -55,7 +56,7 @@ namespace GFGGame
                 return;
             }
             string resPath = ResPathUtil.GetViewEffectPath("ui_xjs", "ui_xjs");
-            SceneController.AddObjectToView(_effectObj, _wrapper, _ui.m_holder, resPath, out _effectObj, out _wrapper);
+            SceneController.AddObjectToView(_gameObject, _wrapper, _ui.m_holder, resPath, out _gameObject, out _wrapper);
             FunctionOpenCfg cfg = FunctionOpenCfgArray.Instance.GetCfg(_funList[0]);
             _ui.m_ComFunctionOpen.m_txtName.text = cfg.name;
             _ui.m_ComFunctionOpen.m_logIcon.url = ResPathUtil.GetCommonGameResPath(cfg.res);

+ 5 - 3
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryChapterView.cs

@@ -15,7 +15,7 @@ namespace GFGGame
         private GObject _unPasslevelItem;
         private GObject _endLevelItem;
 
-        private GameObject _effectObj;
+        private GameObject _gameObject;
         private GoWrapper _wrapper;
 
         public override void Dispose()
@@ -25,6 +25,8 @@ namespace GFGGame
                 _valueBarController.Dispose();
                 _valueBarController = null;
             }
+            SceneController.DestroyObjectFromView(_gameObject);
+
             base.Dispose();
         }
 
@@ -159,10 +161,10 @@ namespace GFGGame
                             if (levelItem.m_holder.visible)
                             {
                                 _unPasslevelItem = levelItem.target;
-                                _effectObj = null;
+                                _gameObject = null;
                                 _wrapper = null;
                                 string resPath = ResPathUtil.GetViewEffectPath("ui_gk", "ui_gk_sg");
-                                SceneController.AddObjectToView(_effectObj, _wrapper, levelItem.m_holder, resPath, out _effectObj, out _wrapper);
+                                SceneController.AddObjectToView(_gameObject, _wrapper, levelItem.m_holder, resPath, out _gameObject, out _wrapper);
                             }
                             if (level > endLevel)
                             {

+ 15 - 10
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs

@@ -25,14 +25,14 @@ namespace GFGGame
         private const int _range = 30;//圆圈随机范围
         private float _time = 0;// 登峰造极按住的时间
 
-        private GameObject _effectObj0;
+        private GameObject _gameObject0;
         private GoWrapper _wrapper0;
-        private GameObject _effectObj0_1;
-        private GoWrapper _wrapper0_1;
-        private GameObject _effectObj1;
+        private GameObject _gameObject1;
         private GoWrapper _wrapper1;
-        private GameObject _effectObj1_1;
-        private GoWrapper _wrapper1_1;
+        private GameObject _gameObject2;
+        private GoWrapper _wrapper2;
+        private GameObject _gameObject3;
+        private GoWrapper _wrapper3;
         private Dictionary<int, RoleSkillCfg> _npcSkillDic;
 
         private bool playStop = false;
@@ -44,6 +44,11 @@ namespace GFGGame
                 GameObject.Destroy(_scenePrefab);
                 _scenePrefab = null;
             }
+            SceneController.DestroyObjectFromView(_gameObject0);
+            SceneController.DestroyObjectFromView(_gameObject1);
+            SceneController.DestroyObjectFromView(_gameObject2);
+            SceneController.DestroyObjectFromView(_gameObject3);
+
             base.Dispose();
         }
 
@@ -135,11 +140,11 @@ namespace GFGGame
         private void AddEffect()
         {
             string resPath0 = ResPathUtil.GetViewEffectPath("ui_zhandou", "ui_zd_hd_sc");
-            SceneController.AddObjectToView(_effectObj0, _wrapper0, _ui.m_ComShieldMine.m_holder, resPath0, out _effectObj0, out _wrapper0);
-            SceneController.AddObjectToView(_effectObj1, _wrapper1, _ui.m_ComShieldNpc.m_holder, resPath0, out _effectObj1, out _wrapper1);
+            SceneController.AddObjectToView(_gameObject0, _wrapper0, _ui.m_ComShieldMine.m_holder, resPath0, out _gameObject0, out _wrapper0);
+            SceneController.AddObjectToView(_gameObject2, _wrapper2, _ui.m_ComShieldNpc.m_holder, resPath0, out _gameObject2, out _wrapper2);
             string resPath1 = ResPathUtil.GetViewEffectPath("ui_zhandou", "ui_zd_hd_ps");
-            SceneController.AddObjectToView(_effectObj0_1, _wrapper0_1, _ui.m_ComShieldMine.m_holder1, resPath1, out _effectObj0_1, out _wrapper0_1);
-            SceneController.AddObjectToView(_effectObj1_1, _wrapper1_1, _ui.m_ComShieldNpc.m_holder1, resPath1, out _effectObj1_1, out _wrapper1_1);
+            SceneController.AddObjectToView(_gameObject1, _wrapper1, _ui.m_ComShieldMine.m_holder1, resPath1, out _gameObject1, out _wrapper1);
+            SceneController.AddObjectToView(_gameObject3, _wrapper3, _ui.m_ComShieldNpc.m_holder1, resPath1, out _gameObject3, out _wrapper3);
             _ui.m_ComShieldMine.m_holder.visible = false;
             _ui.m_ComShieldMine.m_holder1.visible = false;
             _ui.m_ComShieldNpc.m_holder.visible = false;

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -54,6 +54,17 @@ namespace GFGGame
         {
             _valueBarController.Dispose();
             _valueBarController = null;
+            SceneController.DestroyObjectFromView(_effectObj0);
+            SceneController.DestroyObjectFromView(_effectObj1);
+            SceneController.DestroyObjectFromView(_effectObj2);
+            SceneController.DestroyObjectFromView(_effectObj3);
+            SceneController.DestroyObjectFromView(_effectObj4);
+            SceneController.DestroyObjectFromView(_effectObj0_1);
+            SceneController.DestroyObjectFromView(_effectObj1_1);
+            SceneController.DestroyObjectFromView(_effectObj2_1);
+            SceneController.DestroyObjectFromView(_effectObj3_1);
+            SceneController.DestroyObjectFromView(_effectObj4_1);
+
             base.Dispose();
         }