// //-------------------------------------------------------- // // [Author]: 第二世界 // // [ Date ]: Saturday, September 09, 2017 // //-------------------------------------------------------- // using vnxbqy.UI; // using System.Collections; // using System.Collections.Generic; // using UnityEngine; // using UnityEngine.UI; // using UnityStandardAssets.ImageEffects; // namespace vnxbqy.UI // { // public class UI3DModelExhibition : MonoBehaviour // { // [SerializeField] Transform m_PlayerShowPoint; // [SerializeField] Transform m_HorseShowPoint; // [SerializeField] Transform m_WingShowPoint; // [SerializeField] Transform m_NPCShowPoint; // [SerializeField] Transform m_DialogPoint; // [SerializeField] Transform m_EquipmentPoint; // [SerializeField] Camera m_ShowCamera; // [SerializeField] ColorCorrectionCurves m_CameraColor; // public bool interactable { get; set; } // UI3DShowHero playerModel = new UI3DShowHero(); // int m_HorseModelId = 0; // GameObject horseModel = null; // public GameObject NpcModelHorse { // get { return horseModel; } // set { horseModel = value; } // } // int m_NPCId = 0; // GameObject npcModel = null; // SFXController m_NpcEffect; // readonly List m_BindEffectList = new List(); // public GameObject NpcModelPet { // get { return npcModel; } // set { npcModel = value; } // } // int m_WingModelId = 0; // GameObject wingModel = null; // int m_EquipmentModelId = 0; // GameObject equipmentModel = null; // SFXController godWeaponEffect = null; // SFXController horsePetEffect = null; // Coroutine m_SwtichAnimationCoroutine = null; // bool isShowingPlayer = false; // bool isShowingHorse = false; // bool isShowingNPC = false; // bool isShowingPet = false; // bool isShowinEquipment = false; // EquipModel equipModel { get { return ModelCenter.Instance.GetModel(); } } // ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel(); } } // PetModel petModel { get { return ModelCenter.Instance.GetModel(); } } // TitleModel titleModel { get { return ModelCenter.Instance.GetModel(); } } // static UI3DModelExhibition m_Instance = null; // public static UI3DModelExhibition Instance { // get { // if (m_Instance == null) // { // CreateStage(); // } // return m_Instance; // } // } // static UI3DModelExhibition m_InstanceClone1 = null; // public static UI3DModelExhibition InstanceClone1 { // get { // if (m_InstanceClone1 == null) // { // CreateCloneStageEx(ref m_InstanceClone1, 1); // } // return m_InstanceClone1; // } // } // static UI3DModelExhibition m_InstanceClone2 = null; // public static UI3DModelExhibition InstanceClone2 // { // get // { // if (m_InstanceClone2 == null) // { // CreateCloneStageEx(ref m_InstanceClone2, 2); // } // return m_InstanceClone2; // } // } // static UI3DModelExhibition m_InstanceClone3 = null; // public static UI3DModelExhibition InstanceClone3 // { // get // { // if (m_InstanceClone3 == null) // { // CreateCloneStageEx(ref m_InstanceClone3, 3); // } // return m_InstanceClone3; // } // } // static UI3DModelExhibition m_InstanceClone4 = null; // public static UI3DModelExhibition InstanceClone4 // { // get // { // if (m_InstanceClone4 == null) // { // CreateCloneStageEx(ref m_InstanceClone4, 4); // } // return m_InstanceClone4; // } // } // static UI3DModelExhibition m_InstanceClone5 = null; // public static UI3DModelExhibition InstanceClone5 // { // get // { // if (m_InstanceClone5 == null) // { // CreateCloneStageEx(ref m_InstanceClone5, 5); // } // return m_InstanceClone5; // } // } // static UI3DModelExhibition m_InstanceClone6 = null; // public static UI3DModelExhibition InstanceClone6 // { // get // { // if (m_InstanceClone6 == null) // { // CreateCloneStageEx(ref m_InstanceClone6, 6); // } // return m_InstanceClone6; // } // } // static UI3DModelExhibition m_InstanceClone7 = null; // public static UI3DModelExhibition InstanceClone7 // { // get // { // if (m_InstanceClone7 == null) // { // CreateCloneStageEx(ref m_InstanceClone7, 7); // } // return m_InstanceClone7; // } // } // static UI3DModelExhibition m_InstanceClone8 = null; // public static UI3DModelExhibition InstanceClone8 // { // get // { // if (m_InstanceClone8 == null) // { // CreateCloneStageEx(ref m_InstanceClone8, 8); // } // return m_InstanceClone8; // } // } // static void CreateStage() // { // var prefab = BuiltInLoader.LoadPrefab("UI3DModelExhibitionStage"); // var gameObject = GameObject.Instantiate(prefab); // m_Instance = gameObject.GetComponent(); // m_Instance.transform.position = new Vector3(1000, 2000, 3000); // m_Instance.name = "UI3DModelExhibitionStage"; // m_Instance.SetActive(true); // m_Instance.m_ShowCamera.enabled = false; // DontDestroyOnLoad(gameObject); // } // static void CreateCloneStage() // { // var prefab = BuiltInLoader.LoadPrefab("UI3DModelExhibitionStage"); // var gameObject = GameObject.Instantiate(prefab); // m_InstanceClone1 = gameObject.GetComponent(); // m_InstanceClone1.transform.position = new Vector3(2000, 4000, 5000); // m_InstanceClone1.name = "UI3DModelExhibitionStage(clone1)"; // m_InstanceClone1.SetActive(true); // m_InstanceClone1.m_ShowCamera.enabled = false; // DontDestroyOnLoad(gameObject); // } // static void CreateCloneStageEx(ref UI3DModelExhibition instance, int index) // { // var prefab = BuiltInLoader.LoadPrefab("UI3DModelExhibitionStage"); // var gameObject = GameObject.Instantiate(prefab); // instance = gameObject.GetComponent(); // instance.transform.position = new Vector3(1000 + index * 200, 1000 + index * 200, 5000); // instance.name = "UI3DModelExhibitionStage(clone" + index + ")"; // instance.SetActive(true); // instance.m_ShowCamera.enabled = false; // DontDestroyOnLoad(gameObject); // } // public string GetName() // { // return this.name; // } // public void ShowPlayerBodyEffect(int effectId, float scale = 1) // { // if (playerModel != null) // { // playerModel.ShowTitleBodyEffect(effectId, scale); // } // } // public void HidePlayerBodyEffect() // { // if (playerModel != null) // { // playerModel.HideTitleRootEffect(); // } // } // //玩家自己的UI模型展示 // public void ShowPlayer(RawImage rawImage, int job, bool isDialogue = false, float scale = 0) // { // var apperance = equipModel.GetAppearance(); // var reikiRootEffectId = PlayerDatas.Instance.baseData.reikiRootEffectId; // var data = new UI3DPlayerExhibitionData // { // job = job, // fashionClothesId = apperance.fashionClothes, // fashionWeaponId = apperance.fashionWeapon, // fashionSecondaryId = apperance.fashionSecondary, // clothesId = apperance.clothes, // weaponId = apperance.weapon, // secondaryId = apperance.secondary, // wingsId = apperance.wings, // suitLevel = apperance.isSuit ? 1 : 0, // reikiRootEffectId = isDialogue ? 0 : reikiRootEffectId, // isDialogue = isDialogue, // equipLevel = PlayerDatas.Instance.baseData.suitLevel, // scale = scale, // titleID = PlayerDatas.Instance.baseData.TitleID // }; // DrawPlayer(rawImage, data); // } // public void ShowPlayer(RawImage rawImage, UI3DPlayerExhibitionData data) // { // DrawPlayer(rawImage, data); // } // public void ShowSitDownPlayer(RawImage rawImage, int job) // { // ShowPlayer(rawImage, job, false); // if (playerModel != null) // { // playerModel.SitDown(); // } // } // void DrawPlayer(RawImage rawImage, UI3DPlayerExhibitionData data) // { // StopShow(); // var isDialogue = data.isDialogue; // var instance = playerModel.Show(data, isDialogue ? m_DialogPoint : m_PlayerShowPoint); // interactable = !isDialogue; // if (!data.keepRotation) // { // m_PlayerShowPoint.localEulerAngles = Vector3.zero; // } // if (isDialogue) // { // instance.transform.localPosition = GeneralDefine.heroDialogueOffset; // instance.transform.localEulerAngles = GeneralDefine.heroDialogueRotation; // if (data.scale <= 0) // instance.transform.localScale = GeneralDefine.heroDialogueScale * Vector3.one; // else // instance.transform.localScale = GeneralDefine.heroDialogueScale * data.scale * Vector3.one; // } // else // { // if (data.scale > 0) // instance.transform.localScale = data.scale * Vector3.one; // } // m_ShowCamera.enabled = true; // isShowingPlayer = true; // ResetCameraColor(); // if (playerModel != null) // { // playerModel.StandUp(); // } // BindGestureCatcher(rawImage, interactable); // } // public void ShowHourse(int modelId, RawImage rawImage) // { // StopShow(); // m_ShowCamera.enabled = true; // var instance = UI3DModelFactory.LoadUIHorse(modelId); // if (instance == null) // { // return; // } // isShowingHorse = true; // interactable = true; // m_HorseModelId = modelId; // horseModel = instance; // m_HorseShowPoint.rotation = Quaternion.identity; // var modelConfig = ModelResConfig.Get(modelId); // var position = modelConfig.UIOffset; // var rotation = modelConfig.UIRotation; // instance.transform.SetParentEx(m_HorseShowPoint, position, rotation, modelConfig.UIScale); // instance.SetActive(true); // ResetCameraColor(); // ShowNpcEffect(instance.transform, modelConfig.ResourcesName); // BindGestureCatcher(rawImage, interactable); // } // public void ShowHourse(UI3DHorsePetData data, RawImage rawImage) // { // StopShow(); // m_ShowCamera.enabled = true; // var horseConfig = HorseConfig.Get(data.id); // if (horseConfig == null) // { // return; // } // var instance = UI3DModelFactory.LoadUIHorse(horseConfig.Model); // if (instance == null) // { // return; // } // isShowingHorse = true; // interactable = true; // m_HorseModelId = horseConfig.Model; // horseModel = instance; // m_HorseShowPoint.rotation = Quaternion.identity; // var modelConfig = ModelResConfig.Get(horseConfig.Model); // var position = modelConfig.UIOffset; // var rotation = modelConfig.UIRotation; // instance.transform.SetParentEx(m_HorseShowPoint, position, rotation, modelConfig.UIScale); // instance.SetActive(true); // ResetCameraColor(); // ShowNpcEffect(instance.transform, modelConfig.ResourcesName); // if (horseModel && data.isRun) // { // var animator = horseModel.GetComponentInChildren(); // if (animator != null) // { // m_SwtichAnimationCoroutine = StartCoroutine(Co_SwitchAnimation(animator, GAStaticDefine.State_RunHash)); // } // } // if (horseModel && data.skinIndex > 0) // { // var horsePetEffectId = petModel.GetPetHorseEffect(data.id, data.skinIndex); // if (horsePetEffectId != 0) // { // horsePetEffect = SFXPlayUtility.Instance.Play(horsePetEffectId, horseModel.transform); // if (horsePetEffect != null) // { // horsePetEffect.duration = 0f; // horsePetEffect.SetParticleEmissionRateOverTime(2f); // } // } // } // BindGestureCatcher(rawImage, interactable); // } // private GameObject ObjEquipment; // public void ShowEquipment(int modelId, Vector3 localEulerAngles, float scale, RawImage rawImage, bool interactable = false) // { // var instance = UI3DModelFactory.LoadUIWing(modelId); // ObjEquipment = instance; // if (instance == null) // { // return; // } // StopShow(); // isShowinEquipment = true; // m_ShowCamera.enabled = true; // m_EquipmentModelId = modelId; // equipmentModel = instance; // instance.transform.SetParentEx(m_EquipmentPoint, Vector3.zero, localEulerAngles, Vector3.one * scale); // instance.SetActive(true); // ResetCameraColor(); // BindGestureCatcher(rawImage, interactable); // } // public void ShowWing(int _modelId, RawImage _rawImage) // { // StopShow(); // var instance = UI3DModelFactory.LoadUIWing(_modelId); // if (instance == null) // { // return; // } // m_ShowCamera.enabled = true; // interactable = true; // m_WingModelId = _modelId; // wingModel = instance; // m_WingShowPoint.rotation = Quaternion.identity; // var modelConfig = ModelResConfig.Get(_modelId); // var position = modelConfig.UIOffset; // var rotation = modelConfig.UIRotation; // instance.transform.SetParentEx(m_WingShowPoint, position, rotation, modelConfig.UIScale); // instance.SetActive(true); // ResetCameraColor(); // var animator = instance.GetComponent(); // if (animator != null) // { // animator.Play("UI_Idle_Single"); // } // BindGestureCatcher(_rawImage, interactable); // } // public void ShowNPC(RawImage rawImage, UI3DNPCExhibitionData data) // { // StopShow(); // ResetCameraColor(); // var config = NPCConfig.Get(data.npcId); // m_NPCId = data.npcId; // var job = 0; // if (config.MODE.Contains("A_Zs")) // { // job = 1; // } // else if (config.MODE.Contains("A_Fs")) // { // job = 2; // } // var offset = config.UIModeLOffset; // var eulerAngles = config.UIModelRotation; // var scale = Vector3.one * config.UIModeLProportion; // var isPlayer = job != 0; // if (isPlayer) // { // var instance = UI3DModelFactory.LoadUINPC(data.npcId); // if (instance == null) // { // Debug.LogFormat("无法获得npc模型资源,id :{0}", data.npcId); // return; // } // instance.transform.SetParentEx(data.isDialogue ? m_DialogPoint : m_NPCShowPoint, offset, eulerAngles, scale); // npcModel = instance; // isShowingNPC = true; // var _configName = string.Empty; // if (job == 1) // { // _configName = config.MODE.Substring(config.MODE.LastIndexOf("A_")); // } // else if (job == 2) // { // _configName = config.MODE.Substring(config.MODE.LastIndexOf("A_")); // } // if (!string.IsNullOrEmpty(_configName)) // { // var _renderer = instance.GetComponentInChildren(); // if (_renderer) // { // MaterialLoader.Release(_renderer.material); // var _modelResConfig = ModelResConfig.GetClothesConfig(_configName); // if (_modelResConfig != null) // { // _renderer.material = MaterialLoader.LoadClothesMaterial(_modelResConfig.ID, false, false); // } // } // } // var ids = config.Equips.Split('|'); // var weaponId = int.Parse(ids[0]); // var secondaryId = ids.Length > 1 ? int.Parse(ids[1]) : 0; // var wingId = ids.Length > 3 ? int.Parse(ids[3]) : 0; // playerModel.Show(instance, job, weaponId, wingId, secondaryId, m_PlayerShowPoint); // playerModel.StandUp(); // m_PlayerShowPoint.localEulerAngles = Vector3.zero; // isShowingPlayer = true; // interactable = true; // m_ShowCamera.enabled = true; // BindGestureCatcher(rawImage, interactable); // } // else // { // ShowNPC(data.npcId, offset, eulerAngles, rawImage, data.gray, data.isDialogue); // } // } // public void ShowNPC(int _npcId, Vector3 _localEulerAngles, RawImage _rawImage, bool _gray = false, bool _isDialogue = false) // { // ShowNPC(_npcId, Vector3.zero, _localEulerAngles, _rawImage, _gray, _isDialogue); // } // public void ShowNPC(int _npcId, Vector3 _offset, Vector3 _localEulerAngles, RawImage _rawImage, bool _gray = false, bool _isDialogue = false) // { // StopShow(); // m_ShowCamera.enabled = true; // m_NPCId = _npcId; // var instance = UI3DModelFactory.LoadUINPC(_npcId); // if (instance == null) // { // return; // } // interactable = !_isDialogue; // isShowingNPC = true; // if (!_isDialogue) // { // m_NPCShowPoint.localEulerAngles = _localEulerAngles; // } // npcModel = instance; // var config = NPCConfig.Get(_npcId); // instance.transform.SetParentEx(_isDialogue ? m_DialogPoint : m_NPCShowPoint, _offset, Quaternion.identity, Vector3.one * config.UIModeLProportion); // if (config.NPCEffect != 0) // { // var effectConfig = EffectConfig.Get(config.NPCEffect); // var parent = instance.transform; // if (!string.IsNullOrEmpty(effectConfig.nodeName)) // { // parent = instance.transform.GetChildTransformDeeply(effectConfig.nodeName); // } // m_NpcEffect = SFXPlayUtility.Instance.PlayBattleEffect(config.NPCEffect, parent); // } // if (_isDialogue) // { // instance.transform.localEulerAngles = _localEulerAngles; // } // instance.SetActive(true); // if (npcModel) // { // ShowNpcEffect(npcModel.transform, config.MODE); // } // ResetCameraColor(_gray); // m_CameraColor.saturation = _gray ? 0.08f : 1f; // if (_npcId == 10104001) // { // _rawImage.SetActive(false); // UI3DModelShowSpecialNPC.Display(npcModel); // } // else // { // BindGestureCatcher(_rawImage, interactable); // } // } // public void ShowPet(UI3DHorsePetData data, RawImage _rawImage) // { // StopShow(); // m_ShowCamera.enabled = true; // m_NPCId = data.id; // var instance = UI3DModelFactory.LoadUINPC(data.id); // if (instance == null) // { // return; // } // interactable = true; // isShowingPet = true; // m_NPCShowPoint.localEulerAngles = data.localEulerAngles; // npcModel = instance; // var config = NPCConfig.Get(data.id); // instance.transform.SetParentEx(m_NPCShowPoint, data.offset, Quaternion.identity, Vector3.one * config.UIModeLProportion); // if (config.NPCEffect != 0) // { // var effectConfig = EffectConfig.Get(config.NPCEffect); // var parent = instance.transform; // if (!string.IsNullOrEmpty(effectConfig.nodeName)) // { // parent = instance.transform.GetChildTransformDeeply(effectConfig.nodeName); // } // m_NpcEffect = SFXPlayUtility.Instance.PlayBattleEffect(config.NPCEffect, parent); // } // instance.SetActive(true); // if (npcModel && data.skinIndex == 0) // { // ShowNpcEffect(npcModel.transform, config.MODE); // } // else // { // HideNpcEffect(); // } // if (npcModel && data.isRun) // { // var animator = npcModel.GetComponentInChildren(); // if (animator != null) // { // m_SwtichAnimationCoroutine = StartCoroutine(Co_SwitchAnimation(animator, GAStaticDefine.State_RunHash)); // } // } // if (npcModel && data.skinIndex > 0) // { // var horsePetEffectId = petModel.GetPetHorseEffect(data.id, data.skinIndex); // var effectNode = petModel.GetPetHorseEffectNode(data.id, data.skinIndex); // if (horsePetEffectId != 0) // { // var parent = instance.transform; // if (!string.IsNullOrEmpty(effectNode)) // { // parent = npcModel.transform.GetChildTransformDeeply(effectNode); // } // horsePetEffect = SFXPlayUtility.Instance.Play(horsePetEffectId, parent); // if (horsePetEffect != null) // { // horsePetEffect.duration = 0f; // } // } // } // ResetCameraColor(); // if (data.id == 10104001) // { // _rawImage.SetActive(false); // UI3DModelShowSpecialNPC.Display(npcModel); // } // else // { // BindGestureCatcher(_rawImage, interactable); // } // } // public void StopShow() // { // m_ShowCamera.enabled = false; // playerModel.Dispose(); // isShowingPlayer = false; // if (m_SwtichAnimationCoroutine != null) // { // StopCoroutine(m_SwtichAnimationCoroutine); // m_SwtichAnimationCoroutine = null; // } // if (m_NPCId != 0) // { // var config = NPCConfig.Get(m_NPCId); // if (config != null) // { // var job = 0; // if (config.MODE.Contains("A_Zs")) // { // job = 1; // } // else if (config.MODE.Contains("A_Fs")) // { // job = 2; // } // if (job != 0) // { // var _renderer = npcModel.GetComponentInChildren(); // if (_renderer) // { // MaterialLoader.Release(_renderer.material); // _renderer.material = _renderer.sharedMaterial = null; // _renderer.materials = _renderer.sharedMaterials = new Material[0]; // } // } // } // } // if (horsePetEffect != null) // { // if (horseModel != null) // { // horsePetEffect.SetParticleEmissionRateOverTime(0f); // } // SFXPlayUtility.Instance.Release(horsePetEffect); // horsePetEffect = null; // } // if (npcModel != null) // { // npcModel.transform.localScale = Vector3.one; // if (m_NpcEffect != null) // { // SFXPlayUtility.Instance.Release(m_NpcEffect); // m_NpcEffect = null; // } // if (isShowingPet) // { // var animator = npcModel.GetComponentInChildren(); // if (animator != null) // { // animator.Play(GAStaticDefine.State_IdleHash, 0); // } // } // UI3DModelFactory.ReleaseUINPC(m_NPCId, npcModel); // npcModel = null; // } // m_NPCId = 0; // isShowingNPC = false; // isShowingPet = false; // if (horseModel != null) // { // horseModel.transform.localScale = Vector3.one; // var animator = horseModel.GetComponentInChildren(); // if (animator != null) // { // animator.Play(GAStaticDefine.State_IdleHash, 0); // } // UI3DModelFactory.ReleaseUIHourse(m_HorseModelId, horseModel); // horseModel = null; // } // m_HorseModelId = 0; // isShowingHorse = false; // if (wingModel != null) // { // wingModel.transform.localScale = Vector3.one; // UI3DModelFactory.ReleaseUIWing(m_WingModelId, wingModel); // wingModel = null; // } // m_WingModelId = 0; // if (equipmentModel != null) // { // UI3DModelFactory.ReleaseUIWing(m_EquipmentModelId, equipmentModel); // equipmentModel = null; // } // m_EquipmentModelId = 0; // isShowinEquipment = false; // if (godWeaponEffect != null) // { // SFXPlayUtility.Instance.Release(godWeaponEffect); // godWeaponEffect = null; // } // UI3DModelShowSpecialNPC.Dispose(); // interactable = false; // } // public void ResetCameraColor(bool _enable = false) // { // m_CameraColor.enabled = _enable; // } // private void LateUpdate() // { // if (isShowinEquipment && ObjEquipment != null) // { // if (WindowCenter.Instance.IsOpen("FirstTimeRechargeWin")) // { // ObjEquipment.transform.Rotate(WindowCenter.Instance.Get().RotateVector * 1f, Space.Self); // } // if (WindowCenter.Instance.IsOpen("FirstChargeTrialWin")) // { // ObjEquipment.transform.Rotate(WindowCenter.Instance.Get().RotateVector * 1f, Space.Self); // } // } // } // private void OnDrag3DModel(Vector2 deltaPosition) // { // if (!interactable) // { // return; // } // if (isShowingPlayer) // { // m_PlayerShowPoint.localEulerAngles += new Vector3(0, -deltaPosition.x, 0); // } // if (isShowingHorse) // { // m_HorseShowPoint.localEulerAngles += new Vector3(0, -deltaPosition.x, 0); // } // if (isShowingNPC) // { // m_NPCShowPoint.localEulerAngles += new Vector3(0, -deltaPosition.x, 0); // } // if (isShowingPet) // { // m_NPCShowPoint.localEulerAngles += new Vector3(0, -deltaPosition.x, 0); // } // } // private void ShowNpcEffect(Transform parent, string modelName) // { // HideNpcEffect(); // var _boneList = ModelResConfig.GetBoneList(modelName); // var _effectlist = ModelResConfig.GetEffectList(modelName); // if (_boneList != null && _effectlist != null) // { // for (int i = 0; i < _boneList.Count; ++i) // { // if (_boneList[i].Equals("null")) // { // var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent); // m_BindEffectList.Add(_ctrl); // } // else // { // var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent.GetChildTransformDeeply(_boneList[i])); // m_BindEffectList.Add(_ctrl); // } // } // } // } // private void HideNpcEffect() // { // foreach (var _ctrl in m_BindEffectList) // { // SFXPlayUtility.Instance.Release(_ctrl); // } // m_BindEffectList.Clear(); // } // private void BindGestureCatcher(RawImage rawImage, bool interable) // { // if (rawImage == null) // { // return; // } // var x = rawImage.rectTransform.rect.height * 4f / 3; // var y = rawImage.rectTransform.rect.height; // rawImage.rectTransform.sizeDelta = new Vector2(x, y); // rawImage.texture = m_ShowCamera.targetTexture; // rawImage.material = MaterialUtility.GetGUIRenderTextureMaterial(); // rawImage.SetActive(true); // if (interable) // { // rawImage.raycastTarget = true; // var gestureCatcher = rawImage.AddMissingComponent(); // gestureCatcher.SetDragListener(OnDrag3DModel); // } // else // { // rawImage.raycastTarget = false; // } // } // IEnumerator Co_SwitchAnimation(Animator animator,int stateHash) // { // yield return null; // yield return null; // if (animator != null) // { // animator.Play(stateHash, 0); // } // } // } // public struct UI3DPlayerExhibitionData // { // public int job; // public int clothesId; // public int suitLevel; // public int weaponId; // public int wingsId; // public int secondaryId; // public int fashionClothesId; // public int fashionWeaponId; // public int fashionSecondaryId; // public int reikiRootEffectId; // public bool isDialogue; // public bool keepRotation; // public int equipLevel; // public float scale; // public int titleID; // } // public struct UI3DNPCExhibitionData // { // public int npcId; // public bool gray; // public bool isDialogue; // } // public struct UI3DHorsePetData // { // public int id; // public int skinIndex; // public bool isRun; // public Vector3 offset; // public Vector3 localEulerAngles; // } // }