| | |
| | | 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;
|
| | | }
|
| | |
| | | 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)
|
| | | {
|
| | |
| | | if (clothesModel != null)
|
| | | {
|
| | | var animator = clothesModel.GetComponent<Animator>();
|
| | | animator.Play(GAStaticDefine.State_IdleHash);
|
| | | if (animator)
|
| | | {
|
| | | animator.Play(GAStaticDefine.State_IdleHash);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | 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;
|
| | | }
|
| | |
|
| | |
| | | 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);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | 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;
|
| | | }
|
| | |
|
| | |
| | | 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;
|
| | |
| | | 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;
|