| | |
| | | [SerializeField] ColorCorrectionCurves m_CameraColor;
|
| | |
|
| | | public bool interactable {
|
| | | get {
|
| | | return m_Interactable;
|
| | | }
|
| | | set {
|
| | | m_Interactable = value;
|
| | | }
|
| | | get { return m_Interactable; }
|
| | | set { m_Interactable = value; }
|
| | | }
|
| | |
|
| | | UI3DShowHero playerModel = new UI3DShowHero();
|
| | |
| | | GameObject npcModel = null;
|
| | | SFXController m_NpcEffect;
|
| | | public GameObject NpcModelPet {
|
| | | get {
|
| | | return npcModel;
|
| | | }
|
| | | set {
|
| | | npcModel = value;
|
| | | }
|
| | | get { return npcModel; }
|
| | | set { npcModel = value; }
|
| | | }
|
| | |
|
| | | int m_WingModelId = 0;
|
| | | GameObject wingModel = null;
|
| | |
|
| | |
| | |
|
| | | PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
|
| | |
|
| | | public static UI3DModelExhibition Instance {
|
| | | get; set;
|
| | | }
|
| | | public static UI3DModelExhibition Instance { get; private set; }
|
| | |
|
| | | public static void CreateStage()
|
| | | {
|
| | | var gameObject = GameObject.Instantiate(Resources.Load<GameObject>("UI/Prefabs/UI3DModelExhibitionStage"));
|
| | | var prefab = Resources.Load<GameObject>("UI/Prefabs/UI3DModelExhibitionStage");
|
| | | var gameObject = GameObject.Instantiate(prefab);
|
| | | Instance = gameObject.GetComponent<UI3DModelExhibition>();
|
| | | Instance.transform.position = new Vector3(1000, 2000, 3000);
|
| | | Instance.name = "UI3DModelExhibitionStage";
|
| | |
| | | DontDestroyOnLoad(gameObject);
|
| | | }
|
| | |
|
| | | public void BeginShowLoginPlayer(RawImage _rawImage, int _job)
|
| | | public void ShowLoginPlayer(RawImage _rawImage, int _job)
|
| | | {
|
| | | var clothesItemId = 0;
|
| | | var weaponItemId = 0;
|
| | | var wingsItemId = 0;
|
| | | var secondaryItemId = 0;
|
| | | var _suitLevel = 0;
|
| | | var suitLevel = 0;
|
| | | var equipInfos = PlayerDatas.Instance.loginInfo.EquipInfo;
|
| | |
|
| | | for (int i = 0; i < equipInfos.Length; i++)
|
| | | {
|
| | | var equipInfo = equipInfos[i];
|
| | |
| | |
|
| | | if (equipInfo.IsSuite == 1)
|
| | | {
|
| | | Dictionary<int, List<int>> _userDataDict = ConfigParse.Analysis(equipInfo.UserData);
|
| | | if (_userDataDict.ContainsKey(30))
|
| | | var userDataDict = ConfigParse.Analysis(equipInfo.UserData);
|
| | | if (userDataDict.ContainsKey(30))
|
| | | {
|
| | | _suitLevel = _userDataDict[30][0];
|
| | | suitLevel = userDataDict[30][0];
|
| | | }
|
| | | }
|
| | | break;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | BeginShowPlayer(_rawImage, _job, clothesItemId, _suitLevel, weaponItemId, wingsItemId, secondaryItemId, false);
|
| | | var data = new UI3DPlayerExhibitionData
|
| | | {
|
| | | job = _job,
|
| | | clothesId = clothesItemId,
|
| | | suitLevel = suitLevel,
|
| | | weaponId = weaponItemId,
|
| | | wingsId = wingsItemId,
|
| | | secondaryId = secondaryItemId,
|
| | | isDialogue = false,
|
| | | };
|
| | |
|
| | | ShowPlayer(_rawImage, data);
|
| | | }
|
| | |
|
| | | public void BeginShowPlayer(RawImage _rawImage, int _job, bool _isDialogue = false)
|
| | | public void ShowPlayer(RawImage _rawImage, int _job, bool _isDialogue = false)
|
| | | {
|
| | | var clothes = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retClothes);
|
| | | var clothesId = clothes == null ? 0 : (int)clothes.itemInfo.ItemID;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | BeginShowPlayer(_rawImage, _job, clothesId, _suitLevel, weaponId, wingsId, secondaryId, _isDialogue);
|
| | | var data = new UI3DPlayerExhibitionData
|
| | | {
|
| | | job = _job,
|
| | | clothesId = clothesId,
|
| | | suitLevel = _suitLevel,
|
| | | weaponId = weaponId,
|
| | | wingsId = wingsId,
|
| | | secondaryId = secondaryId,
|
| | | isDialogue = _isDialogue,
|
| | | };
|
| | |
|
| | | ShowPlayer(_rawImage, data);
|
| | | }
|
| | |
|
| | | public void BeginShowPlayer(RawImage _rawImage, int _job, RoleEquipType _exceptEquip)
|
| | | public void ShowPlayer(RawImage _rawImage, int _job, RoleEquipType _exceptEquip)
|
| | | {
|
| | | var clothes = _exceptEquip == RoleEquipType.retClothes ?
|
| | | null : playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retClothes);
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | BeginShowPlayer(_rawImage, _job, clothesId, _suitLevel, weaponId, wingsId, secondaryId, false);
|
| | | var data = new UI3DPlayerExhibitionData
|
| | | {
|
| | | job = _job,
|
| | | clothesId = clothesId,
|
| | | suitLevel = _suitLevel,
|
| | | weaponId = weaponId,
|
| | | wingsId = wingsId,
|
| | | secondaryId = secondaryId,
|
| | | isDialogue = false,
|
| | | };
|
| | |
|
| | | ShowPlayer(_rawImage, data);
|
| | | }
|
| | |
|
| | | public void BeginShowPlayer(RawImage _rawImage, int _job, int _clothesId, int suitLevel, int _weaponId, int _wingsId, int _secondaryId, bool _isDialogue = false)
|
| | | public void ShowPlayer(RawImage _rawImage, UI3DPlayerExhibitionData data)
|
| | | {
|
| | | StopShow();
|
| | |
|
| | | var instance = playerModel.Show(_job, _clothesId, suitLevel, _weaponId, _wingsId, _secondaryId, _isDialogue ? m_DialogPoint : m_PlayerShowPoint);
|
| | | var job = data.job;
|
| | | var clothesId = data.clothesId;
|
| | | var suitLevel = data.suitLevel;
|
| | | var weaponId = data.weaponId;
|
| | | var wingsId = data.wingsId;
|
| | | var secondaryId = data.secondaryId;
|
| | | var isDialogue = data.isDialogue;
|
| | |
|
| | | interactable = !_isDialogue;
|
| | | var instance = playerModel.Show(job, clothesId, suitLevel, weaponId, wingsId, secondaryId, isDialogue ? m_DialogPoint : m_PlayerShowPoint);
|
| | |
|
| | | interactable = !isDialogue;
|
| | | m_PlayerShowPoint.localEulerAngles = Vector3.zero;
|
| | |
|
| | | if (_isDialogue)
|
| | | if (isDialogue)
|
| | | {
|
| | | instance.transform.localPosition = GeneralConfig.Instance.heroDialogueOffset;
|
| | | instance.transform.localEulerAngles = GeneralConfig.Instance.heroDialogueRotation;
|
| | |
| | |
|
| | | if (_rawImage != null)
|
| | | {
|
| | | _rawImage.rectTransform.sizeDelta = new Vector2(_rawImage.rectTransform.rect.height * 4f / 3, _rawImage.rectTransform.rect.height);
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | 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();
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | }
|
| | | }
|
| | |
|
| | | public void BeginShowOtherPlayer(RawImage _rawImage, int _job, int _clothesId, int suitEffect, int _weaponId, int _wingsId, int _secondaryId)
|
| | | public void ShowOtherPlayer(RawImage _rawImage, UI3DPlayerExhibitionData data)
|
| | | {
|
| | | StopShow();
|
| | |
|
| | | playerModel.Show(_job, _clothesId, suitEffect, _weaponId, _wingsId, _secondaryId, m_PlayerShowPoint);
|
| | | var job = data.job;
|
| | | var clothesId = data.clothesId;
|
| | | var suitLevel = data.suitLevel;
|
| | | var weaponId = data.weaponId;
|
| | | var wingsId = data.wingsId;
|
| | | var secondaryId = data.secondaryId;
|
| | |
|
| | | playerModel.Show(job, clothesId, suitLevel, weaponId, wingsId, secondaryId, m_PlayerShowPoint);
|
| | | playerModel.UnloadClothedEffect();
|
| | | playerModel.PutOnEffect(suitEffect);
|
| | | playerModel.PutOnEffect(suitLevel);
|
| | |
|
| | | interactable = true;
|
| | | m_PlayerShowPoint.localEulerAngles = Vector3.zero;
|
| | |
| | |
|
| | | if (_rawImage != null)
|
| | | {
|
| | | _rawImage.rectTransform.sizeDelta = new Vector2(_rawImage.rectTransform.rect.height * 4f / 3, _rawImage.rectTransform.rect.height);
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | 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();
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | }
|
| | | }
|
| | |
|
| | | public void BeginShowSitDownPlayer(RawImage _rawImage, int _job)
|
| | | public void ShowSitDownPlayer(RawImage _rawImage, int _job)
|
| | | {
|
| | | BeginShowPlayer(_rawImage, _job);
|
| | | ShowPlayer(_rawImage, _job);
|
| | | if (playerModel != null)
|
| | | {
|
| | | playerModel.SitDown();
|
| | | }
|
| | | }
|
| | |
|
| | | public void StopShowPlayer()
|
| | | {
|
| | | StopShow();
|
| | | }
|
| | |
|
| | | public void BeginShowHourse(int _modelId, RawImage _rawImage)
|
| | | public void ShowHourse(int _modelId, RawImage _rawImage)
|
| | | {
|
| | | StopShow();
|
| | | m_ShowCamera.enabled = true;
|
| | |
|
| | | if (_rawImage != null)
|
| | | {
|
| | | _rawImage.rectTransform.sizeDelta = new Vector2(_rawImage.rectTransform.rect.height * 4f / 3, _rawImage.rectTransform.rect.height);
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | 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();
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | }
|
| | |
|
| | | var instance = UI3DModelFactory.LoadUIHorse(_modelId);
|
| | |
| | | horseModel = instance;
|
| | |
|
| | | m_HorseShowPoint.rotation = Quaternion.identity;
|
| | |
|
| | | var modelConfig = Config.Instance.Get<ModelResConfig>(_modelId);
|
| | | instance.transform.SetParentEx(m_HorseShowPoint, modelConfig.UIOffset, modelConfig.UIRotation, Vector3.one * modelConfig.UIScale);
|
| | | var position = modelConfig.UIOffset;
|
| | | var rotation = modelConfig.UIRotation;
|
| | | var scale = Vector3.one * modelConfig.UIScale;
|
| | | instance.transform.SetParentEx(m_HorseShowPoint, position, rotation, scale);
|
| | | instance.SetActive(true);
|
| | | ResetCameraColor();
|
| | | }
|
| | |
|
| | | public void StopShowHourse()
|
| | | {
|
| | | StopShow();
|
| | | }
|
| | |
|
| | | private GameObject ObjEquipment;
|
| | | public void BeginShowEquipment(int _modelId, Vector3 _localEulerAngles, RawImage _rawImage)
|
| | | public void ShowEquipment(int _modelId, Vector3 _localEulerAngles, RawImage _rawImage)
|
| | | {
|
| | | var instance = UI3DModelFactory.LoadUIWing(_modelId);
|
| | | ObjEquipment = instance;
|
| | |
| | | ResetCameraColor();
|
| | | if (_rawImage != null)
|
| | | {
|
| | | _rawImage.rectTransform.sizeDelta = new Vector2(_rawImage.rectTransform.rect.height * 4f / 3, _rawImage.rectTransform.rect.height);
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | 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();
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | }
|
| | | }
|
| | |
|
| | | public void StopShowEquipment()
|
| | | public void ShowWing(int _modelId, Vector3 _localEulerAngles, RawImage _rawImage)
|
| | | {
|
| | | StopShow();
|
| | | }
|
| | |
|
| | | public void BeginShowWing(int _modelId, Vector3 _localEulerAngles, RawImage _rawImage)
|
| | | {
|
| | | StopShow();
|
| | | m_ShowCamera.enabled = true;
|
| | |
|
| | | if (_rawImage != null)
|
| | | {
|
| | | _rawImage.rectTransform.sizeDelta = new Vector2(_rawImage.rectTransform.rect.height * 4f / 3, _rawImage.rectTransform.rect.height);
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | 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();
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | }
|
| | |
|
| | | var instance = UI3DModelFactory.LoadUIWing(_modelId);
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | m_ShowCamera.enabled = true;
|
| | | isShowWing = true;
|
| | | interactable = true;
|
| | |
|
| | |
| | |
|
| | | m_WingShowPoint.rotation = Quaternion.identity;
|
| | | var modelConfig = Config.Instance.Get<ModelResConfig>(_modelId);
|
| | | instance.transform.SetParentEx(m_WingShowPoint, modelConfig.UIOffset, modelConfig.UIRotation, Vector3.one * modelConfig.UIScale);
|
| | | var position = modelConfig.UIOffset;
|
| | | var rotation = modelConfig.UIRotation;
|
| | | var scale = Vector3.one * modelConfig.UIScale;
|
| | | instance.transform.SetParentEx(m_WingShowPoint, position, rotation, scale);
|
| | |
|
| | | instance.SetActive(true);
|
| | | ResetCameraColor();
|
| | | var animator = instance.GetComponent<Animator>();
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | public void StopShowWing()
|
| | | public void ShowNPC(int _npcId, Vector3 _localEulerAngles, RawImage _rawImage, bool _gray = false, bool _isDialogue = false)
|
| | | {
|
| | | StopShow();
|
| | | ShowNPC(_npcId, Vector3.zero, _localEulerAngles, _rawImage, _gray, _isDialogue);
|
| | | }
|
| | |
|
| | | public void BeginShowNPC(int _npcId, Vector3 _localEulerAngles, RawImage _rawImage, bool _gray = false, bool _isDialogue = false)
|
| | | {
|
| | | BeginShowNPC(_npcId, Vector3.zero, _localEulerAngles, _rawImage, _gray, _isDialogue);
|
| | | }
|
| | |
|
| | | public void BeginShowNPC(int _npcId, Vector3 _offset, Vector3 _localEulerAngles, RawImage _rawImage, bool _gray = false, bool _isDialogue = false)
|
| | | public void ShowNPC(int _npcId, Vector3 _offset, Vector3 _localEulerAngles, RawImage _rawImage, bool _gray = false, bool _isDialogue = false)
|
| | | {
|
| | | StopShow();
|
| | | m_ShowCamera.enabled = true;
|
| | |
|
| | | if (_rawImage != null)
|
| | | {
|
| | | _rawImage.rectTransform.sizeDelta = new Vector2(_rawImage.rectTransform.rect.height * 4f / 3, _rawImage.rectTransform.rect.height);
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | 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();
|
| | | m_InteractProcessor.rectTransform = _rawImage.rectTransform;
|
| | | }
|
| | |
|
| | | var instance = UI3DModelFactory.LoadUINPC(_npcId);
|
| | |
| | | ResetCameraColor(_gray);
|
| | | m_CameraColor.saturation = _gray ? 0.08f : 1f;
|
| | |
|
| | | }
|
| | |
|
| | | public void StopShowNPC()
|
| | | {
|
| | | StopShow();
|
| | | }
|
| | |
|
| | | public void StopShow()
|
| | |
| | | {
|
| | | if (isShowinEquipment && ObjEquipment != null)
|
| | | {
|
| | | if (WindowCenter.Instance.CheckOpen<FirstTimeRechargeWin>())
|
| | | if (WindowCenter.Instance.CheckOpen("FirstTimeRechargeWin"))
|
| | | {
|
| | | ObjEquipment.transform.Rotate(WindowCenter.Instance.Get<FirstTimeRechargeWin>().RotateVector * 1f, Space.Self);
|
| | | }
|
| | | if (WindowCenter.Instance.CheckOpen<FirstChargeTrialWin>())
|
| | | if (WindowCenter.Instance.CheckOpen("FirstChargeTrialWin"))
|
| | | {
|
| | | ObjEquipment.transform.Rotate(WindowCenter.Instance.Get<FirstChargeTrialWin>().RotateVector * 1f, Space.Self);
|
| | | }
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | public struct UI3DPlayerExhibitionData
|
| | | {
|
| | | public int job;
|
| | | public int clothesId;
|
| | | public int suitLevel;
|
| | | public int weaponId;
|
| | | public int wingsId;
|
| | | public int secondaryId;
|
| | | public bool isDialogue;
|
| | | }
|
| | | }
|
| | |
|
| | | }
|