From c9caeb44144b88cefbc0c855086cb11d986d8d70 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期三, 29 八月 2018 15:18:06 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 UI/Common/UI3DShowHero.cs |  180 ++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 108 insertions(+), 72 deletions(-)

diff --git a/UI/Common/UI3DShowHero.cs b/UI/Common/UI3DShowHero.cs
index 35a3367..7f9b366 100644
--- a/UI/Common/UI3DShowHero.cs
+++ b/UI/Common/UI3DShowHero.cs
@@ -49,25 +49,33 @@
             if (weaponId != 0)
             {
                 prefab = InstanceResourcesLoader.LoadModelRes(weaponId);
-                pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-                pool.Release(weaponModel);
+                if (prefab)
+                {
+                    pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                    pool.Release(weaponModel);
+                }
                 weaponModel = null;
             }
 
             if (secondaryId != 0)
             {
                 prefab = InstanceResourcesLoader.LoadModelRes(secondaryId);
-                pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-                pool.Release(secondaryModel);
-                secondaryModel.SetActive(true);
+                if (prefab)
+                {
+                    pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                    pool.Release(secondaryModel);
+                }
                 secondaryModel = null;
             }
 
             if (wingsId != 0)
             {
                 prefab = InstanceResourcesLoader.LoadModelRes(wingsId);
-                pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-                pool.Release(wingsModel);
+                if (prefab)
+                {
+                    pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                    pool.Release(wingsModel);
+                }
                 wingsModel = null;
                 wingsAnimator = null;
             }
@@ -75,8 +83,11 @@
             if (clothesId != 0)
             {
                 prefab = InstanceResourcesLoader.LoadModelRes(clothesId);
-                pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-                pool.Release(clothesModel);
+                if (prefab)
+                {
+                    pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                    pool.Release(clothesModel);
+                }
                 clothesModel = null;
                 if (clothesAnimator)
                 {
@@ -102,7 +113,10 @@
             if (clothesModel != null)
             {
                 var animator = clothesModel.GetComponent<Animator>();
-                animator.Play(GAStaticDefine.State_IdleHash);
+                if (animator)
+                {
+                    animator.Play(GAStaticDefine.State_IdleHash);
+                }
             }
         }
 
@@ -111,13 +125,19 @@
             if (clothesModel != null)
             {
                 var animator = clothesModel.GetComponent<Animator>();
-                animator.Play(GAStaticDefine.State_SitDown);
+                if (animator)
+                {
+                    animator.Play(GAStaticDefine.State_SitDown);
+                }
             }
 
             if (weaponModel)
             {
                 GameObject prefab = InstanceResourcesLoader.LoadModelRes(weaponId);
-                GameObjectPoolManager.Instance.ReleaseGameObject(prefab, weaponModel);
+                if (prefab)
+                {
+                    GameObjectPoolManager.Instance.ReleaseGameObject(prefab, weaponModel);
+                }
                 weaponModel = null;
             }
 
@@ -162,52 +182,57 @@
             LoadClothes(newClothes);
             clothesId = newClothes;
 
-            if (weaponModel)
+            if (clothesModel)
             {
-                var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WeaponBindBoneName);
-                weaponModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
-            }
+                if (weaponModel)
+                {
+                    var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WeaponBindBoneName);
+                    weaponModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+                }
 
-            if (wingsModel)
-            {
-                var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WingBindBoneName);
-                wingsModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
-            }
+                if (wingsModel)
+                {
+                    var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WingBindBoneName);
+                    wingsModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+                }
 
-            if (secondaryModel)
-            {
-                var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
-                wingsModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
-            }
+                if (secondaryModel)
+                {
+                    var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
+                    wingsModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+                }
 
-            LoadClothesEffect(itemID, suitID);
+                LoadClothesEffect(itemID, suitID);
+            }
         }
 
         private void LoadClothes(int resID)
         {
             var prefab = InstanceResourcesLoader.LoadModelRes(resID);
-            var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-            clothesModel = pool.Request();
-
-            LayerUtility.SetLayer(clothesModel, LayerUtility.Player, false);
-            var skinnedMeshRenderer = clothesModel.GetComponentInChildren<SkinnedMeshRenderer>(true);
-            LayerUtility.SetLayer(skinnedMeshRenderer.gameObject, LayerUtility.Player, false);
-            clothesModel.SetActive(true);
-            clothesModel.transform.SetParentEx(showPoint, Vector3.zero, Quaternion.identity, Vector3.one);
-            clothesAnimator = clothesModel.GetComponent<Animator>();
-
-            if (clothesAnimator == null)
+            if (prefab)
             {
-                DebugEx.LogErrorFormat("瑙掕壊璧勬簮: {0} 娌℃湁鍔ㄧ敾鎺у埗鍣�", resID);
-            }
+                var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                clothesModel = pool.Request();
 
-            // 鍔ㄧ敾鐘舵�佹満淇敼
-            if (clothesAnimator)
-            {
-                cacheClothedAC = clothesAnimator.runtimeAnimatorController;
-                RuntimeAnimatorController _controller = AnimatorControllerLoader.Load(AnimatorControllerLoader.controllerUISuffix, resID);
-                clothesAnimator.runtimeAnimatorController = _controller;
-                clothesAnimator.enabled = true;
+                LayerUtility.SetLayer(clothesModel, LayerUtility.Player, false);
+                var skinnedMeshRenderer = clothesModel.GetComponentInChildren<SkinnedMeshRenderer>(true);
+                LayerUtility.SetLayer(skinnedMeshRenderer.gameObject, LayerUtility.Player, false);
+                clothesModel.SetActive(true);
+                clothesModel.transform.SetParentEx(showPoint, Vector3.zero, Quaternion.identity, Vector3.one);
+                clothesAnimator = clothesModel.GetComponent<Animator>();
+
+                // 鍔ㄧ敾鐘舵�佹満淇敼
+                if (clothesAnimator)
+                {
+                    cacheClothedAC = clothesAnimator.runtimeAnimatorController;
+                    RuntimeAnimatorController _controller = AnimatorControllerLoader.Load(AnimatorControllerLoader.controllerUISuffix, resID);
+                    clothesAnimator.runtimeAnimatorController = _controller;
+                    clothesAnimator.enabled = true;
+                }
+                else
+                {
+                    DebugEx.LogErrorFormat("瑙掕壊璧勬簮: {0} 娌℃湁鍔ㄧ敾鎺у埗鍣�", resID);
+                }
             }
         }
 
@@ -274,12 +299,16 @@
                 prefab = InstanceResourcesLoader.LoadModelRes(newWeapon);
             }
 
-            pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-            weaponModel = pool.Request();
+            if (prefab)
+            {
+                pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                weaponModel = pool.Request();
 
-            LayerUtility.SetLayer(weaponModel, LayerUtility.Player, false);
-            var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WeaponBindBoneName);
-            weaponModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+                LayerUtility.SetLayer(weaponModel, LayerUtility.Player, false);
+                var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WeaponBindBoneName);
+                weaponModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+            }
+
             weaponId = newWeapon;
         }
 
@@ -323,11 +352,15 @@
                     newSecondary = config.BaseEquip[2];
                     prefab = InstanceResourcesLoader.LoadModelRes(newSecondary);
                 }
-                pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-                secondaryModel = pool.Request();
 
-                var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
-                secondaryModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+                if (prefab)
+                {
+                    pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                    secondaryModel = pool.Request();
+
+                    var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
+                    secondaryModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+                }
             }
 
             secondaryId = newSecondary;
@@ -371,26 +404,29 @@
                     prefab = InstanceResourcesLoader.LoadModelRes(newWings);
                 }
 
-                pool = GameObjectPoolManager.Instance.RequestPool(prefab);
-                wingsModel = pool.Request();
-
-                wingsModel.layer = LayerUtility.Player;
-                SkinnedMeshRenderer _renderer = wingsModel.GetComponentInChildren<SkinnedMeshRenderer>();
-                if (_renderer)
+                if (prefab)
                 {
-                    _renderer.gameObject.layer = LayerUtility.Player;
-                }
+                    pool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                    wingsModel = pool.Request();
 
-                var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WingBindBoneName);
-                wingsModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+                    wingsModel.layer = LayerUtility.Player;
+                    SkinnedMeshRenderer _renderer = wingsModel.GetComponentInChildren<SkinnedMeshRenderer>();
+                    if (_renderer)
+                    {
+                        _renderer.gameObject.layer = LayerUtility.Player;
+                    }
 
-                wingsAnimator = wingsModel.GetComponent<Animator>();
-                if (wingsAnimator == null)
-                {
-                    DebugEx.LogErrorFormat("缈呰唨璧勬簮{0}娌℃湁鍔ㄧ敾鎺у埗鍣�", itemID);
+                    var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WingBindBoneName);
+                    wingsModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
+
+                    wingsAnimator = wingsModel.GetComponent<Animator>();
+                    if (wingsAnimator == null)
+                    {
+                        DebugEx.LogErrorFormat("缈呰唨璧勬簮{0}娌℃湁鍔ㄧ敾鎺у埗鍣�", itemID);
+                    }
+                    wingsAnimator.enabled = true;
+                    wingsAnimator.Play("UI_Idle", 0);
                 }
-                wingsAnimator.enabled = true;
-                wingsAnimator.Play("UI_Idle", 0);
             }
 
             wingsId = newWings;

--
Gitblit v1.8.0