123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- using System;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using ET;
- using FairyGUI;
- using UI.MatchingCompetition;
- using UnityEngine;
- namespace GFGGame
- {
- //搭配赛评选期间
- class MatchingCompetitionUpLoadView : BaseWindow
- {
- private UI_MatchingCompetitionUpLoadUI _ui;
- private GameObject _sceneObject;
- private float countTimeSpeed = 0.001f;
- private bool isCountTime = false;
- public override void Dispose()
- {
- if (_sceneObject != null)
- {
- PrefabManager.Instance.Restore(_sceneObject);
- _sceneObject = null;
- }
- if (_ui != null)
- {
- _ui.Dispose();
- }
- _ui = null;
- base.Dispose();
- }
- protected override void OnInit()
- {
- base.OnInit();
- packageName = UI_MatchingCompetitionUpLoadUI.PACKAGE_NAME;
- _ui = UI_MatchingCompetitionUpLoadUI.Create();
- this.viewCom = _ui.target;
- isReturnView = true;
- isfullScreen = true;
- _ui.m_BtnBack.onClick.Add(OnClickBtnBack);
- _ui.m_btnUploadWorks.onClick.Add(OnClickBtnUpload);
- _ui.m_btnShop.onClick.Add(OnClickBtnShop);
- _ui.m_btnMyWorks.onClick.Add(OnClickBtnMyWorks);
- _ui.m_btnRank.onClick.Add(OnClickBtnRank);
- _ui.m_btnLook.onClick.Add(OnClickBtnLook);
- _ui.m_btnExchage.onClick.Add(OnClickBtnExchange);
- _ui.m_beforeWork.onClick.Add(OnClickBtnBeforeWorks);
- _ui.m_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule);
- }
- protected override void OnShown()
- {
- base.OnShown();
- _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj");
- _ui.m_c1.selectedIndex = MatchingCompetitionDataManager.Instance.MatchingState;
- _ui.m_titleText.text = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1].Name;
- isCountTime = false;
- _ui.m_btnRank.touchable = true;
- UpdateView();
- UpdateHead();
- UpdateDress();
- Timers.inst.AddUpdate(UpdateTime);
- Timers.inst.AddUpdate(CheckGuide);
- //临时处理,后续下载做好了替换
- //result = await MatchingCompetitionSproxy.ReqCurrentRank();
- }
- protected override void OnHide()
- {
- if (_sceneObject != null)
- {
- PrefabManager.Instance.Restore(_sceneObject);
- _sceneObject = null;
- }
- Timers.inst.Remove(UpdateTime);
- Timers.inst.Remove(UpdateCountTime);
- Timers.inst.Remove(CheckGuide);
- MatchingCompetitionDataManager.Instance.DressPropIndex = 0;
- base.OnHide();
- }
- protected override void AddEventListener()
- {
- base.AddEventListener();
- EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH,UpdateDress);
- }
- protected override void RemoveEventListener()
- {
- base.RemoveEventListener();
- EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateDress);
- }
- private async void UpdateDress()
- {
- //if (MatchingOneDataManager.Instance.MathingDressDate.actionId != 0)
- if(false)
- {
- _ui.m_bg.visible = false;
- _ui.m_playerImage.visible = false;
- MatchingOneDataManager.Instance.itemGameObjs.Clear();
- PhotographDataManager.Instance.itemGameObjs.Clear();
- PhotographDataManager.Instance.dressUpObj?.Dispose();
- PhotographDataManager.Instance.dressUpObj = new DressUpObj();
- if (_sceneObject == null)
- {
- _sceneObject = PrefabManager.Instance.InstantiateSync(ResPathUtil.GetPrefabPath("ScenePhotograph"));
- }
- PhotographSceneManager.Instance.sceneObject = _sceneObject;
- if(MatchingOneDataManager.Instance.DressUpBgID == 0)
- {
- PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(180001));
- }
- else
- {
- PhotographSceneManager.Instance.AddBgItem(ItemCfgArray.Instance.GetCfg(MatchingOneDataManager.Instance.DressUpBgID));
- }
- PhotographSceneManager.Instance.AddBodyItem();
- GameObject bodyParent = _sceneObject.transform.Find("Scene/Role").gameObject;
- PhotographDataManager.Instance.dressUpObj.setSceneObj(_sceneObject, false, true, bodyParent, false, null);
- PhotographDataManager.Instance.dressUpObj.PutOnDressUpData(MatchingOneDataManager.Instance.MathingDressDate);
- //对搭配赛特殊处理
- foreach (var item in MatchingCompetitionDataManager.Instance.DressPropTransInfoDic)
- {
- if (item.Key == MatchingCompetitionDataManager.Instance.roleID)
- {
- continue;
- }
- else
- {
- List<int> idList = MatchingCompetitionDataManager.Instance.GetIDListByString(item.Key);
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(idList[0]);
- MatchingCompetitionDataManager.Instance.AddSceneItemOne(itemCfg, idList[1], idList[2]);
- }
- }
- await Task.Delay(200);
- MatchingOneDataManager.Instance.InsertGameObjectList();
- for (int i = 0; i < MatchingOneDataManager.Instance.itemGameObjs.Count; i++)
- {
- GameObject itemGObj = MatchingOneDataManager.Instance.itemGameObjs[i];
- TransformData itemdata = new TransformData();
- if (MatchingOneDataManager.Instance.DressPropTransInfoDic.ContainsKey(itemGObj.name))
- {
- itemdata = MatchingOneDataManager.Instance.DressPropTransInfoDic[itemGObj.name];
- }
- MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = itemdata.position;
- //if (MatchingOneDataManager.Instance.itemGameObjs[i].name == "Role")
- //{
- // if(itemdata.position.y >= -5 || itemdata.position.y <= 5)
- // {
- // MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(itemdata.position.x,0,0);
- // }
- // if(itemdata.position.x >= -5 || itemdata.position.x <= 5)
- // {
- // MatchingOneDataManager.Instance.itemGameObjs[i].transform.position = new Vector3(0, MatchingOneDataManager.Instance.itemGameObjs[i].transform.position.y, 0);
- // }
- //}
- MatchingOneDataManager.Instance.itemGameObjs[i].transform.Rotate(itemGObj.transform.eulerAngles.x, itemGObj.transform.eulerAngles.y, itemdata.rotationZ);
- MatchingOneDataManager.Instance.itemGameObjs[i].transform.localScale = itemdata.scale;
- PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.itemGameObjs[i], (i+1) * PhotographDataManager.layerCount, "up");
- }
- //PhotographUtil.Instance.ChangeLayer(MatchingOneDataManager.Instance.roleGameobj, 2 * PhotographDataManager.layerCount, "up");
- }
- else
- {
- _ui.m_bg.visible = true;
- _ui.m_playerImage.visible = true;
- _ui.m_playerImage.texture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;
- }
- }
- private void UpdateView()
- {
- _ui.m_countTime.fillAmount = 0;
- _ui.m_countTime.visible = false;
- //long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes;
- //long curTime = TimeHelper.ServerNow();
- //if (endTime < curTime + 1)
- //{
- // if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
- // {
- // PromptController.Instance.ShowFloatTextPrompt("评选时间已到!");
- // }
- // return;
- //}
- //TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
- //if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
- //{
- // _ui.m_timeText.text = "评选剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
- //}
- //else
- //{
- // _ui.m_timeText.text = "结算剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
- //}
- }
- private void UpdateHead()
- {
- RoleInfoManager.Instance.UpdateHead(_ui.m_playerHead.m_head, MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.HeadItemId, MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.HeadBorderItemId);
- _ui.m_playerHead.m_nameText.text = MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.RoleName.ToString();
- _ui.m_playerHead.m_countText.text = MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.Score.ToString();
- }
- private void UpdateTime(object param = null)
- {
- long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes;
- long curTime = TimeHelper.ServerNow();
- if (endTime < curTime + 1)
- {
- Timers.inst.Remove(UpdateTime);
- if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
- {
- PromptController.Instance.ShowFloatTextPrompt("评选时间已到!");
- ViewManager.GoBackFrom(typeof(MatchingCompetitionUpLoadView).FullName);
- }
- return;
- }
- TimeUtil.FormattingTime(curTime, endTime, out int num, out string str);
- if (MatchingCompetitionDataManager.Instance.MatchingState == 2)
- {
- _ui.m_timeText.text = "评选剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
- }
- else
- {
- _ui.m_timeText.text = "结算剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
- }
-
- }
- private void UpdateCountTime(object param = null)
- {
- if(_ui.m_countTime.fillAmount <=0)
- {
- _ui.m_countTime.fillAmount = 0;
- _ui.m_countTime.visible = false;
- isCountTime = false;
- Timers.inst.Remove(UpdateCountTime);
- }
- _ui.m_countTime.fillAmount -= countTimeSpeed;
- }
- private void OnClickBtnBack()
- {
- ViewManager.GoBackFrom(typeof(MatchingCompetitionUpLoadView).FullName);
- }
- private async void OnClickBtnUpload()
- {
- if(MatchingCompetitionDataManager.Instance.MatchingState == 3)
- {
- PromptController.Instance.ShowFloatTextPrompt("结算期间无法选择!");
- return;
- }
- //先获取两个玩家信息
- bool resulst = await MatchingCompetitionSproxy.ReqGetTwoPlayers();
- if(resulst)
- {
- ViewManager.Show<MatchingCompetitionSelectView>();
- }
- }
- private void OnClickBtnShop()
- {
- ViewManager.Show<StoreView>(new object[] { ConstStoreTabId.STORE_EXCHANGE, 3 });
- }
- private void OnClickBtnMyWorks()
- {
- ViewManager.Show<MatchingCompetitionLookView>();
- }
- private void OnClickBtnBeforeWorks()
- {
- ViewManager.Show<PoemPhotoView>(2);
- }
- private async void OnClickBtnRank()
- {
- _ui.m_btnRank.touchable = false;
- bool result = await MatchingCompetitionSproxy.ReqCurrentRank();
- if(result)
- {
- ViewManager.Show<MatchingCompetitionRankView>();
- _ui.m_btnRank.touchable = true;
- }
- else
- {
- _ui.m_btnRank.touchable = true;
- PromptController.Instance.ShowFloatTextPrompt("暂无玩家上榜!");
- }
- }
- private async void OnClickBtnExchange()
- {
- if (isCountTime)
- {
- PromptController.Instance.ShowFloatTextPrompt("刷新冷却中,请耐心等待!");
- return;
- }
- isCountTime = true;
- _ui.m_countTime.visible = true;
- _ui.m_countTime.fillAmount = 1.0f;
- Timers.inst.AddUpdate(UpdateCountTime);
- //ViewManager.Show<ModalStatusView>("刷新中...");
- bool result = await MatchingCompetitionSproxy.ReqGetOnePlayers();
- if (result)
- {
- if (_sceneObject != null)
- {
- PrefabManager.Instance.Restore(_sceneObject);
- _sceneObject = null;
- }
- //UpdateView();
- UpdateHead();
- UpdateDress();
- //ViewManager.Hide<ModalStatusView>();
- }
- //ViewManager.Hide<ModalStatusView>();
- }
- private void OnClickBtnLook()
- {
- List<int> AllIdList = new List<int>();
- foreach (var info in MatchingOneDataManager.Instance.OneRoleInfo.JudgingInfo.CollocationInfoList)
- {
- AllIdList.Add(MatchingCompetitionDataManager.Instance.GetIDByString(info.ItemId));
- }
- MatchingCompetitionDataManager.Instance.DetailNtexture = MatchingOneDataManager.Instance.OneRoleInfo.Ntexture;
- ViewManager.Show<MatchingCompetitionDetailView>(AllIdList);
- }
- private void CheckGuide(object param)
- {
- if (GuideDataManager.IsGuideFinish("DAPEISAI_2") <= 0 && MatchingCompetitionDataManager.Instance.MatchingState == 2)
- {
- UpdateToCheckGuide(null);
- }
- else
- {
- Timers.inst.Remove(CheckGuide);
- }
- }
- protected override void UpdateToCheckGuide(object param)
- {
- if (!ViewManager.CheckIsTopView(this.viewCom)) return;
- GuideController.TryGuide(_ui.m_btnUploadWorks, "DAPEISAI_2", 2, "进行评选!");
- }
- }
- }
|