using System; using System.Collections.Generic; using ET; using FairyGUI; using UI.MatchingCompetition; using UnityEngine; namespace GFGGame { //搭配赛集合期间 class MatchingCompetitionGatheringView : BaseWindow { private UI_MatchingCompetitionGatheringUI _ui; private ValueBarController _valueBarController; private int SuitID; private EffectUI _effectUI1; public override void Dispose() { EffectUIPool.Recycle(_effectUI1); _effectUI1 = null; if (_valueBarController != null) { _valueBarController.Dispose(); _valueBarController = null; } if (_ui != null) { _ui.Dispose(); } _ui = null; base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_MatchingCompetitionGatheringUI.PACKAGE_NAME; _ui = UI_MatchingCompetitionGatheringUI.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_ruleBtn.onClick.Add(MatchingCompetitionDataManager.Instance.OnClickBtnRule); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateView); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateView); } protected override void OnShown() { base.OnShown(); _ui.m_bg.url = ResPathUtil.GetBgImgPath("pxs_bj"); _ui.m_c1.selectedIndex = 1; JudgingRoundOpenCfg judgingCfg = JudgingRoundOpenCfgArray.Instance.dataArray[MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason - 1]; SuitID = judgingCfg.ShowSuit; _ui.m_titleText.text = judgingCfg.Name; SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(SuitID); _ui.m_suitName.text = suitCfg.name; UpdateView(); Timers.inst.AddUpdate(UpdateTime); Timers.inst.AddUpdate(CheckGuide); } protected override void OnHide() { DressUpObjUI dressUpObjUI = _ui.m_suitShow.data as DressUpObjUI; if (dressUpObjUI != null) { dressUpObjUI.Dispose(); } _ui.m_suitShow.data = null; base.OnHide(); Timers.inst.Remove(UpdateTime); Timers.inst.Remove(CheckGuide); } private void UpdateView() { if (MatchingCompetitionDataManager.Instance.MyNtextture == null) { _ui.m_playerImage.texture = null; _ui.m_suitName.visible = true; DressUpObjUI dressUpObjUI; if (_ui.m_suitShow.data == null) { _ui.m_suitShow.data = new DressUpObjUI("SceneSuitFoster"); } bool showAction = SuitCfgArray.Instance.CheckSuitHasAction(SuitID) && DressUpMenuSuitDataManager.CheckSuitHasActionRes(SuitID); dressUpObjUI = _ui.m_suitShow.data as DressUpObjUI; dressUpObjUI.ResetSceneObj(100, false, true, null, false); dressUpObjUI.dressUpObj.PutOnSuitCfg(SuitID, showAction, new int[] { ConstDressUpItemType.BEI_JING }, false, false); dressUpObjUI.UpdateWrapper(_ui.m_suitShow); } else { DressUpObjUI dressUpObjUI = _ui.m_suitShow.data as DressUpObjUI; if (dressUpObjUI != null) { dressUpObjUI.Dispose(); } _ui.m_suitName.visible = false; _ui.m_suitShow.data = null; _ui.m_playerImage.texture = MatchingCompetitionDataManager.Instance.MyNtextture; } } private void UpdateTime(object param = null) { long endTime = MatchingCompetitionDataManager.Instance.MatchingEndTimes; long curTime = TimeHelper.ServerNow(); if (MatchingCompetitionDataManager.Instance.MatchingState != 1) { Timers.inst.Remove(UpdateTime); PromptController.Instance.ShowFloatTextPrompt("投稿时间已到!"); ViewManager.GoBackFrom(typeof(MatchingCompetitionGatheringView).FullName); return; } if (endTime < curTime + 1) { Timers.inst.Remove(UpdateTime); return; } TimeUtil.FormattingTime(curTime, endTime, out int num, out string str); _ui.m_timeText.text = "投稿剩余时间:" + TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime); } private void OnClickBtnBack() { ViewManager.GoBackFrom(typeof(MatchingCompetitionGatheringView).FullName); } private void OnClickBtnUpload() { ViewManager.Show(2, false); } private void OnClickBtnShop() { ViewManager.Show(new object[] { ConstStoreTabId.STORE_EXCHANGE, 3 }); } private void CheckGuide(object param) { if (GuideDataManager.IsGuideFinish("DAPEISAI_1") <= 0 && MatchingCompetitionDataManager.Instance.MatchingState == 1) { 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_1", 2, "进行搭配!"); GuideController.TryCompleteGuide("DAPEISAI_1", 2); } } }