Explorar o código

UI界面上的换装对象优化

guodong %!s(int64=2) %!d(string=hai) anos
pai
achega
3f131e9089

+ 5 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObj.cs

@@ -69,11 +69,16 @@ namespace GFGGame
 
         public void setSceneObj(GameObject sceneObj, bool needSetMask = false, bool showSceneType = true, GameObject roleObj = null, bool showBg = true)
         {
+            if (_sceneObj != null)
+            {
+                GameObject.Destroy(_sceneObj);
+            }
             _sceneObj = sceneObj;
             _needSetMask = needSetMask;
             _showSceneType = showSceneType;
             _showBg = showBg;
             _roleObj = roleObj;
+            PutOnDefaultDressUpData();
         }
 
         public DressUpData DressUpDataClone()

+ 63 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjUI.cs

@@ -0,0 +1,63 @@
+using FairyGUI;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class DressUpObjUI
+    {
+
+        private GameObject _scenePrefab;
+        public GameObject sceneObject;
+        public GoWrapper wrapper;
+        public DressUpObj dressUpObj;
+
+
+        public DressUpObjUI(string prefabName)
+        {
+            _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath(prefabName));
+            dressUpObj = new DressUpObj();
+            wrapper = new GoWrapper();
+        }
+
+        public void ResetSceneObj(int scale = 100, bool needSetMask = false, bool showSceneType = true, GameObject roleObj = null, bool showBg = true)
+        {
+            sceneObject = GameObject.Instantiate(_scenePrefab);
+            sceneObject.transform.localScale = new Vector3(scale, scale, scale);
+            dressUpObj.setSceneObj(sceneObject, needSetMask, showSceneType, roleObj, showBg);
+        }
+
+        public void UpdateWrapper(GGraph holder)
+        {
+            holder.SetNativeObject(wrapper);
+            wrapper.wrapTarget = sceneObject;
+        }
+
+        public void Dispose()
+        {
+
+            if (_scenePrefab != null)
+            {
+                GameObject.Destroy(_scenePrefab);
+                _scenePrefab = null;
+            }
+
+            if (sceneObject != null)
+            {
+                GameObject.Destroy(sceneObject);
+                sceneObject = null;
+            }
+
+            if (dressUpObj != null)
+            {
+                dressUpObj.Dispose();
+                dressUpObj = null;
+            }
+
+            if(wrapper != null)
+            {
+                wrapper.Dispose();
+                wrapper = null;
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpObjUI.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 57d7d9c0e0383154fbcf4970b9276d19
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 10
GameClient/Assets/Game/HotUpdate/Views/CommonGame/GetSuitItemVIew.cs

@@ -15,7 +15,6 @@ namespace GFGGame
         private GoWrapper _wrapper1;
         private DressUpObj _dressUpObj;
 
-        private int guideId = 0;//0:没有引导 1:首次获得套装2:首次获得套装部件
         public override void Dispose()
         {
             if (_sceneObject != null)
@@ -65,7 +64,6 @@ namespace GFGGame
             base.OnShown();
             GRoot.inst.touchable = true;
             int suitId = (int)viewData;
-            guideId = 0;
             UpdateView(suitId);
         }
 
@@ -142,14 +140,6 @@ namespace GFGGame
                 SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
                 _ui.m_txtName.text = "套装·" + suitCfg.name;
                 int targetY = (int)(_ui.m_item.y + _ui.m_item.height + 50);
-                if (count == totalCount)
-                {
-                    guideId = 1;
-                }
-                else
-                {
-                    guideId = 2;
-                }
             }
             _ui.m_probar.max = totalCount;
             _ui.m_probar.value = count;

+ 25 - 49
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxView.cs

@@ -22,12 +22,13 @@ namespace GFGGame
         //private GameObject _gameObject3;
         //private GoWrapper _wrapper3;
 
-        private GameObject _scenePrefab;
-        private GameObject _sceneObject;
-        private GoWrapper _wrapper4;
-        private DressUpObj _dressUpObj;
-        private GameObject _gameObject5;
-        private GoWrapper _wrapper5;
+        private DressUpObjUI _dressUpObjUIXiHe;
+
+        //private GameObject _scenePrefab;
+        //private GameObject _sceneObject;
+        //private GoWrapper _wrapper4;
+        //private DressUpObj _dressUpObj;
+        private DressUpObjUI _dressUpObjUIChangXi;
 
         private bool isActiveBoxOpen = false;
         private int _bgIndex = 0;
@@ -40,16 +41,15 @@ namespace GFGGame
                 _valueBarController.Dispose();
                 _valueBarController = null;
             }
-            if (_sceneObject != null)
+            if (_dressUpObjUIXiHe != null)
             {
-                GameObject.Destroy(_sceneObject);
-                _sceneObject = null;
+                _dressUpObjUIXiHe.Dispose();
+                _dressUpObjUIXiHe = null;
             }
-
-            if (_dressUpObj != null)
+            if (_dressUpObjUIChangXi != null)
             {
-                _dressUpObj.Dispose();
-                _dressUpObj = null;
+                _dressUpObjUIChangXi.Dispose();
+                _dressUpObjUIChangXi = null;
             }
             //SceneController.DestroyObjectFromView(_gameObject, _wrapper);
             //SceneController.DestroyObjectFromView(_gameObject1, _wrapper1);
@@ -72,8 +72,8 @@ namespace GFGGame
             this.viewCom = _ui.target;
             isfullScreen = true;
 
-            _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("SceneDressUp"));
-            _dressUpObj = new DressUpObj();
+            _dressUpObjUIXiHe = new DressUpObjUI("SceneDressUp");
+            _dressUpObjUIChangXi = new DressUpObjUI("SceneDressUp");
             // _ui.m_txtRemainTimes.visible = false;
             _valueBarController = new ValueBarController(_ui.m_valueBar);
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
@@ -204,35 +204,15 @@ namespace GFGGame
                 GGraph holder = (obj as GComponent).GetChild("holder").asGraph;
                 GGraph holder1 = (obj as GComponent).GetChild("holder1").asGraph;
 
+                //羲和
+                _dressUpObjUIXiHe.ResetSceneObj(100, false, false, null, false);
+                _dressUpObjUIXiHe.dressUpObj.PutOnSuitCfg(201013, true, null, false, false);
+                _dressUpObjUIXiHe.UpdateWrapper(holder);
 
-                if (_sceneObject != null)
-                {
-                    GameObject.Destroy(_sceneObject);
-                    _sceneObject = null;
-                }
-                _sceneObject = GameObject.Instantiate(_scenePrefab);
-                int scale = 100;
-                _sceneObject.transform.localScale = new Vector3(scale, scale, scale);
-                _dressUpObj.setSceneObj(_sceneObject, false, false, null, false);
-                _dressUpObj.PutOnDefaultDressUpData();
-                _dressUpObj.PutOnSuitCfg(201013, true, null, false, false);
-                if (_wrapper4 == null)
-                {
-                    _wrapper4 = new GoWrapper(_sceneObject);
-                    holder.SetNativeObject(_wrapper4);
-                }
-                else
-                {
-                    _wrapper4.wrapTarget = _sceneObject;
-                }
-
-                //SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(201013);//羲和
-                //string resPath1 = ResPathUtil.GetDressUpAnimationPath(suitCfg.aniRes);
-                //SceneController.AddObjectToView(_gameObject4, _wrapper4, holder, resPath1, out _gameObject4, out _wrapper4);
-
-                SuitCfg suitCfg1 = SuitCfgArray.Instance.GetCfg(201006);//常曦
-                string resPath2 = ResPathUtil.GetDressUpAnimationPath(suitCfg1.aniRes);
-                SceneController.AddObjectToView(_gameObject5, _wrapper5, holder1, resPath2, out _gameObject5, out _wrapper5);
+                //常曦
+                _dressUpObjUIChangXi.ResetSceneObj(100, false, false, null, false);
+                _dressUpObjUIChangXi.dressUpObj.PutOnSuitCfg(201006, true, null, false, false);
+                _dressUpObjUIChangXi.UpdateWrapper(holder1);
             }
         }
 
@@ -391,15 +371,9 @@ namespace GFGGame
             });
         }
 
-
         protected override void OnHide()
         {
             base.OnHide();
-            if (_sceneObject != null)
-            {
-                GameObject.Destroy(_sceneObject);
-                _sceneObject = null;
-            }
             _valueBarController.OnHide();
 
             Timers.inst.Remove(CheckTime);
@@ -407,12 +381,14 @@ namespace GFGGame
             Timers.inst.Remove(CheckGuide);
             // Timers.inst.Remove(UpdateTime);
         }
+
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, OnListBgScroll);
             EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, OnListBgScroll);
         }
+
         private void OnClickBtnBack()
         {
             Reset();