using ET; using System.Collections; using UnityEngine; using FairyGUI; using UI.InstanceZones; using System.Collections.Generic; namespace GFGGame { public class InstanceZonesView : BaseView { private UI_InstanceZonesUI _ui; private ValueBarController _valueBarController; private EffectUI _effectUI1; private EffectUI _effectUI2; private EffectUI _effectUI3; private int fieldWorkLockLevel = FieldWorkDataManager.Instance.guideLevelID; public override void Dispose() { EffectUIPool.Recycle(_effectUI2); _effectUI2 = null; EffectUIPool.Recycle(_effectUI3); _effectUI3 = 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_InstanceZonesUI.PACKAGE_NAME; _ui = UI_InstanceZonesUI.Create(); viewCom = _ui.target; isfullScreen = true; isReturnView = true; _valueBarController = new ValueBarController(_ui.m_valueBar); _ui.m_instance.m_btnStudio.target.onClick.Add(OnClickBtnStudio); _ui.m_instance.m_btnTravel.target.onClick.Add(OnClickBtnTravel); _ui.m_instance.m_btnPoem.target.onClick.Add(OnClickBtnPoem); _ui.m_instance.m_btnPoemGudie.onClick.Add(OnClickBtnPoem); _ui.m_instance.m_btnField.target.onClick.Add(OnTimeTracingClick); _ui.m_instance.m_btnArena.target.onClick.Add(OnClickBtnArena); _ui.m_instance.m_btnFieldWork.target.onClick.Add(OnFieldWorkClick); _ui.m_btnBack.onClick.Add(OnClickBtnBack); _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("hzs_bg"); _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_bg_eff, "ui_HaiZhiShi", "Bg_All_Tx"); _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_fish_eff, "ui_HaiZhiShi", "Bg_Yu"); PreloadSuitModel(); } protected override void OnShown() { base.OnShown(); _valueBarController.OnShown(); _valueBarController.UpdateList(new List() { ConstItemID.POWER }); CheckFunOpen(); UpdateRedDot(); if(GuideDataManager.IsGuideFinish(ConstGuideId.FIELD) <= 0 && InstanceZonesDataManager.CheckLevelPass(fieldWorkLockLevel)) { _ui.m_instance.target.scrollPane.posY = 540; } else { _ui.m_instance.target.scrollPane.posY = 0; } Timers.inst.AddUpdate(CheckGuide); _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_eff, "ui_HaiZhiShi", "Bg_ZhuanChang_NiuQu"); } protected override void OnHide() { base.OnHide(); EffectUIPool.Recycle(_effectUI1); _effectUI1 = null; _valueBarController.OnHide(); Timers.inst.Remove(CheckGuide); } protected override void AddEventListener() { base.AddEventListener(); } protected override void RemoveEventListener() { base.RemoveEventListener(); } private void CheckGuide(object param) { if (GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_PORCELAIN) <= 0 || GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_PROPERTY) <= 0 || GuideDataManager.IsGuideFinish(ConstGuideId.STUDIO_FILING) <= 0 || GuideDataManager.IsGuideFinish("TimeTracingShowView") <= 0 || GuideDataManager.IsGuideFinish("ClothingSelectView") <= 0 || (GuideDataManager.IsGuideFinish("DAPEISAI_1") <=0 && MatchingCompetitionDataManager.Instance.MatchingState == 1 && MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason != 0 && InstanceZonesDataManager.CheckLevelPass(100003004)) || (GuideDataManager.IsGuideFinish("DAPEISAI_2") <= 0 && MatchingCompetitionDataManager.Instance.MatchingState == 2 && MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason != 0 && InstanceZonesDataManager.CheckLevelPass(100003004)) || (GuideDataManager.IsGuideFinish(ConstGuideId.FIELD) <= 0 && InstanceZonesDataManager.CheckLevelPass(FieldWorkDataManager.Instance.guideLevelID))) { UpdateToCheckGuide(null); } else { Timers.inst.Remove(CheckGuide); } } private void UpdateRedDot() { _valueBarController.UpdateRedPoint(); RedDotController.Instance.SetComRedDot(_ui.m_instance.m_btnStudio.target, RedDotDataManager.Instance.GetStudioFilingRed(), "", -126, 22); RedDotController.Instance.SetComRedDot(_ui.m_instance.m_btnTravel.target, RedDotDataManager.Instance.GetTravelRed(), "", -152, 85); RedDotController.Instance.SetComRedDot(_ui.m_instance.m_btnField.target, TimeTracingDataManager.Instance.GetLevelRewardStatus() || TimeTracingDataManager.Instance.GetAllChapterReward(), "", -103, 43); } private void CheckFunOpen() { _ui.m_instance.m_btnPoem.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(MatchingCompetitionGatheringView).Name, false); _ui.m_instance.m_btnStudio.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(StudioView).Name, false); _ui.m_instance.m_btnTravel.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(TravelView).Name, false); _ui.m_instance.m_btnField.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(TimeTracingShowView).Name, false); _ui.m_instance.m_btnArena.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ArenaView).Name, false); _ui.m_instance.m_btnFieldWork.m_loaLockIcon.visible = !FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FieldWorkLevelView).Name, false); } private void OnClickBtnBack() { Hide(); } private void OnClickBtnStudio() { ViewManager.Show(); } private void OnClickBtnTravel() { ViewManager.Show(); } private async void OnClickBtnPoem() { if (MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason > 0) { if (MatchingCompetitionDataManager.Instance.MatchingState == 1) { ViewManager.Show(); } else { bool result = await MatchingCompetitionSproxy.ReqGetOnePlayers(); if (result) { ViewManager.Show(); } else { await MatchingCompetitionSproxy.ReqMatchingCompetitionInfo(); //PromptController.Instance.ShowFloatTextPrompt("暂无玩家数据!"); } } } else { PromptController.Instance.ShowFloatTextPrompt("美人图未开启!"); } } private void OnClickBtnField() { LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.TIAN_YE_DIAO_CHA, 1); ViewManager.Show(); } private void OnTimeTracingClick() { ViewManager.Show(); } private void OnFieldWorkClick() { ViewManager.Show(); } private async void OnClickBtnArena() { if (!FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(ArenaView).Name)) { return; } if (!ArenaDataManager.Instance.IsSeasonOpen) { PromptController.Instance.ShowFloatTextPrompt("赛季未开始"); return; } await ArenaSproxy.ReqArenaInfos(); ViewManager.Show(this.viewData); ViewManager.Show(); } protected override void UpdateToCheckGuide(object param) { if (!ViewManager.CheckIsTopView(this.viewCom)) return; //_ui.m_loaGuidestudio.visible = false; GuideController.TryGuide(_ui.m_instance.m_btnStudio.target, ConstGuideId.STUDIO_PORCELAIN, 3, "工作室开门啦,进去看看~"); GuideController.TryGuide(_ui.m_instance.m_btnStudio.target, ConstGuideId.STUDIO_FILING, 3, "工作室有新的任务啦。"); if (GuideDataManager.IsGuideFinish(ConstGuideId.FIELD) <= 0 && InstanceZonesDataManager.CheckLevelPass(FieldWorkDataManager.Instance.guideLevelID)) { GuideController.TryGuide(_ui.m_instance.m_btnFieldWork.target, ConstGuideId.FIELD, 1, "外出进行考察,会有意想不到的收获哦。"); } GuideController.TryGuide(_ui.m_instance.m_btnStudio.target, ConstGuideId.STUDIO_PROPERTY, 2, ""); if(MatchingCompetitionDataManager.Instance.MatchingState == 1 && MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason != 0 && InstanceZonesDataManager.CheckLevelPass(100003004)) { GuideController.TryGuide(_ui.m_instance.m_btnPoemGudie, "DAPEISAI_1", 1, "进入搭配赛,进行搭配!"); } else if(MatchingCompetitionDataManager.Instance.MatchingState == 2 && MatchingCompetitionDataManager.Instance.MatchingCompetitionSeason != 0 && InstanceZonesDataManager.CheckLevelPass(100003004)) { GuideController.TryGuide(_ui.m_instance.m_btnPoemGudie, "DAPEISAI_2", 1, "进入搭配赛,进行评选!"); } GuideController.TryGuide(_ui.m_instance.m_btnArena.target, ConstGuideId.ARENA_OPEN, 3, "在这里可以与其他小伙伴比拼搭配哦~"); GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.ENTER_CHAPTER_5, 1, "", -1, false); GuideController.TryGuide(_ui.m_instance.m_btnField.target, "TimeTracingShowView", 3, "合成副本可获得奖励和服装哦~"); if (!ArenaDataManager.Instance.IsSeasonOpen) { GuideController.TryCompleteGuide(ConstGuideId.ARENA_OPEN, 3); } } private void PreloadSuitModel() { List suitIdList = new List() { 201030, 201010, 202006 }; for (int i = 1; i < suitIdList.Count; i++) { SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(suitIdList[i]); ResType resType = ResType.Sprite; if (suitCfg.aniRes != "") resType = ResType.Animation; PreDownloadManager.Instance.PreDownloadSuitRes(suitIdList[i], resType, new int[] { ConstDressUpItemType.BEI_JING }, false); } } } }