using ET; using FairyGUI; using UI.League; using UnityEngine; namespace GFGGame { //联盟 public class LeagueView : BaseWindow { private UI_LeagueUI _ui; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_LeagueUI.PACKAGE_NAME; _ui = UI_LeagueUI.Create(); this.viewCom = _ui.target; isfullScreen = true; _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zjm_2_2"); _ui.m_btnBack.onClick.Add(OnBtnBackClick); _ui.m_btnMember.target.onClick.Add(OnBtnMemberClick); _ui.m_btnConstruct.target.onClick.Add(OnBtnConstructClick); _ui.m_comLeagueHead.target.onClick.Add(OnComLeagueHeadClick); _ui.m_btnChangeNotice.onClick.Add(OnBtnChangeNoticeClick); _ui.m_btnPray.target.onClick.Add(OnBtnPrayClick); _ui.m_btnSkill.target.onClick.Add(OnBtnSkillClick); _ui.m_btnAnswer.target.onClick.Add(OnBtnAnswerClick); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.LEAGUE_INFO_CHANGE, UpdateView); EventAgent.AddEventListener(ConstMessage.LEAGUE_NUMBERIC_CHANGE, UpdateView); } protected override void OnShown() { base.OnShown(); int myPos = LeagueDataManager.Instance.GetMyPos(); _ui.m_btnChangeNotice.visible = myPos == LeaguePos.Owner || myPos == LeaguePos.SubOwner; UpdateView(); } protected override void OnHide() { base.OnHide(); Timers.inst.Remove(UpdateTime); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.LEAGUE_INFO_CHANGE, UpdateView); EventAgent.RemoveEventListener(ConstMessage.LEAGUE_NUMBERIC_CHANGE, UpdateView); } private void OnBtnBackClick() { ViewManager.GoBackFrom(typeof(LeagueView).FullName); } private void OnBtnMemberClick() { ViewManager.Show(null, new object[] { typeof(LeagueView).FullName, null }); } private void OnBtnConstructClick() { ViewManager.Show(null, new object[] { typeof(LeagueView).FullName, null }); } private void OnComLeagueHeadClick() { ViewManager.Show(null, new object[] { typeof(LeagueView).FullName, null }); } private void OnBtnChangeNoticeClick() { ViewManager.Show(null, new object[] { typeof(LeagueView).FullName, null }); } private void OnBtnPrayClick() { ViewManager.Show(null, new object[] { typeof(LeagueView).FullName, null }); } private void OnBtnSkillClick() { ViewManager.Show(null, new object[] { typeof(LeagueView).FullName, null }); } private void OnBtnAnswerClick() { ViewManager.Show(null, new object[] { typeof(LeagueView).FullName, null }); } private void UpdateView() { UpdateInfo(); UpdateValue(); } private void UpdateInfo() { LeagueData leagueData = LeagueDataManager.Instance.LeagueData; int lowKeepDay = (int)LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LowKeepDay); _ui.m_txtLowKeep.visible = lowKeepDay > 0; _ui.m_txtLowKeep.text = string.Format("已连续低维护:{0}天", lowKeepDay); _ui.m_txtUnionName.text = leagueData.Name; _ui.m_comLeagueHead.m_loaUnionIcon.url = ResPathUtil.GetLeagueIconPath(leagueData.Icon); _ui.m_comLeagueHead.m_txtUnionLv.text = LeagueDataManager.Instance.HallLevel.ToString(); _ui.m_txtNotice.text = leagueData.Notice; _ui.m_txtLeaderName.text = leagueData.LeagueMemberDatas[leagueData.OwnerId].RoleInfo.roleName; RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, leagueData.LeagueMemberDatas[leagueData.OwnerId].RoleInfo.headId, leagueData.LeagueMemberDatas[leagueData.OwnerId].RoleInfo.headBorderId); } private void UpdateValue() { LeagueData leagueData = LeagueDataManager.Instance.LeagueData; _ui.m_btnMember.m_txtCount.SetVar("value", leagueData.Num.ToString()).FlushVars(); LeagueHotelCfg hotelCfg = LeagueHotelCfgArray.Instance.GetCfg(LeagueDataManager.Instance.HotelLevel); _ui.m_btnMember.m_txtCount.SetVar("maxValue", hotelCfg.limit.ToString()).FlushVars(); _ui.m_btnConstruct.m_txtCount.SetVar("value", LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueCoin).ToString()).FlushVars(); LeagueStoreCfg storeCfg = LeagueStoreCfgArray.Instance.GetCfg(LeagueDataManager.Instance.StoreLevel); _ui.m_btnConstruct.m_txtCount.SetVar("maxValue", storeCfg.limitStore.ToString()).FlushVars(); ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(ConstItemID.LEAGUE_COIN); } private void UpdateButton() { Timers.inst.Add(1, 0, UpdateTime); } private void UpdateTime(object param) { if (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.LeagueQuestionStatus) == LeagueQuestionStatus.End) { long curTime = TimeHelper.ServerNow(); long endTime = TimeUtil.GetNextTime(GlobalCfgArray.globalCfg.leagueQuestionStartTime); _ui.m_btnAnswer.m_txtTime.text = string.Format("{0}后开启", TimeUtil.FormattingTime5((int)(endTime - curTime))); } else { _ui.m_btnAnswer.m_txtTime.text = "进行中"; } } } }