using ET; using FairyGUI; using UI.League; using UnityEngine; namespace GFGGame { //联盟建设 public class LeagueConstructView : BaseWindow { private UI_LeagueConstructUI _ui; private LeagueDataManager _leagueDataManager; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_LeagueConstructUI.PACKAGE_NAME; _ui = UI_LeagueConstructUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; // _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj"); _ui.m_btnClose.onClick.Add(Hide); _ui.m_btnUpLv0.target.onClick.Add(OnBtnUpLvClick); _ui.m_btnUpLv0.target.data = LeagueBuildingType.Hall; _ui.m_btnUpLv1.target.onClick.Add(OnBtnUpLvClick); _ui.m_btnUpLv1.target.data = LeagueBuildingType.Hotel; _ui.m_btnUpLv2.target.onClick.Add(OnBtnUpLvClick); _ui.m_btnUpLv2.target.data = LeagueBuildingType.Store; _ui.m_btnClose.onClick.Add(Hide); _ui.m_btnTips.onClick.Add(RuleController.ShowRuleView); _ui.m_btnTips.data = 300005; _ui.m_btnRule.onClick.Add(RuleController.ShowRuleView); _ui.m_btnRule.data = 300004; _leagueDataManager = LeagueDataManager.Instance; } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.LEAGUE_NUMBERIC_CHANGE, UpdateView); } protected override void OnShown() { base.OnShown(); UpdateView(); } protected override void OnHide() { base.OnHide(); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.LEAGUE_NUMBERIC_CHANGE, UpdateView); } // private void OnBtnTipsClick() // { // ViewManager.Show(); // } // private void OnBtnRuleClick() // { // ViewManager.Show(); // } private void OnBtnUpLvClick(EventContext context) { int type = (int)(context.sender as GObject).data; int myPos = _leagueDataManager.GetMyPos(); if (myPos != LeaguePos.Owner && myPos != LeaguePos.SubOwner) { PromptController.Instance.ShowFloatTextPrompt("权限不足"); return; } long needCount = 0; long hasCount = 0; if (type == LeagueBuildingType.Hall) { LeagueHallCfg hallCfg = LeagueHallCfgArray.Instance.GetCfg(_leagueDataManager.HallLevel); needCount = hallCfg.consumeUpArr[0][1]; hasCount = ItemDataManager.GetItemNum(hallCfg.consumeUpArr[0][0]); } else if (type == LeagueBuildingType.Hotel) { LeagueHotelCfg hotelCfg = LeagueHotelCfgArray.Instance.GetCfg(_leagueDataManager.HotelLevel); needCount = hotelCfg.consumeArr[0][1]; hasCount = ItemDataManager.GetItemNum(hotelCfg.consumeArr[0][0]); } else if (type == LeagueBuildingType.Store) { LeagueStoreCfg storeCfg = LeagueStoreCfgArray.Instance.GetCfg(_leagueDataManager.StoreLevel); needCount = storeCfg.consumeArr[0][1]; hasCount = ItemDataManager.GetItemNum(storeCfg.consumeArr[0][0]); } if (needCount > hasCount) { PromptController.Instance.ShowFloatTextPrompt("消耗不足"); return; } LeagueSproxy.ReqUpLeagueBuilding(type).Coroutine(); } private void UpdateView() { UpdateHall(); UpdateHotel(); UpdateStore(); } private void UpdateHall() { int hallLv = (int)_leagueDataManager.GetNumeriValue(LeagueNumericType.HallLevel); int hotelLevel = (int)_leagueDataManager.GetNumeriValue(LeagueNumericType.HotelLevel); int storeLevel = (int)_leagueDataManager.GetNumeriValue(LeagueNumericType.StoreLevel); LeagueHallCfg hallCfg = LeagueHallCfgArray.Instance.GetCfg(hallLv); LeagueHallCfg nextHallCfg = LeagueHallCfgArray.Instance.GetCfg(hallLv + 1); ItemUtil.UpdateItemNeedNum(_ui.m_comCost, ConstItemID.LEAGUE_COIN, hallCfg.consume); _ui.m_txtLv0.text = hallLv.ToString(); int hotelLv = hotelLevel; int hotelAdd = nextHallCfg == null ? 0 : nextHallCfg.levelHotel - hotelLv; _ui.m_comHall0.m_txtCurValue.text = hotelLv.ToString(); _ui.m_comHall0.m_txtNextAdd.text = hotelAdd.ToString(); _ui.m_comHall0.m_c1.selectedIndex = hotelAdd > 0 ? 1 : 0; int storeLv = storeLevel; int storeAdd = nextHallCfg == null ? 0 : nextHallCfg.levelStore - storeLv; _ui.m_comHall1.m_txtCurValue.text = storeLv.ToString(); _ui.m_comHall1.m_txtNextAdd.text = storeAdd.ToString(); _ui.m_comHall1.m_c1.selectedIndex = storeAdd > 0 ? 1 : 0; _ui.m_btnUpLv0.target.enabled = nextHallCfg == null ? false : true; _ui.m_btnUpLv0.m_txtTip.text = nextHallCfg == null ? "已满级" : ""; _ui.m_btnUpLv0.m_comCost.visible = nextHallCfg == null ? false : true; _ui.m_btnUpLv0.m_comCost.visible = nextHallCfg != null; if (nextHallCfg != null) { ItemUtil.UpdateItemNeedNum(_ui.m_btnUpLv0.m_comCost, hallCfg.consumeUpArr[0][0], hallCfg.consumeUpArr[0][1]); } } private void UpdateHotel() { int hallLv = _leagueDataManager.HallLevel; int hotelLv = _leagueDataManager.HotelLevel; // int hallLv = _leagueDataManager.LeagueData.HallLevel; LeagueHallCfg hallCfg = LeagueHallCfgArray.Instance.GetCfg(hallLv); LeagueHotelCfg hotelCfg = LeagueHotelCfgArray.Instance.GetCfg(hotelLv); LeagueHotelCfg nextHotelCfg = LeagueHotelCfgArray.Instance.GetCfg(hotelLv + 1); _ui.m_txtLv1.text = hotelLv.ToString(); int memberLimitAdd = nextHotelCfg == null ? 0 : nextHotelCfg.limit - hotelCfg.limit; _ui.m_comHotel0.m_txtCurValue.text = hotelCfg.limit.ToString(); _ui.m_comHotel0.m_txtNextAdd.text = memberLimitAdd.ToString(); _ui.m_comHotel0.m_c1.selectedIndex = memberLimitAdd > 0 ? 1 : 0; int memberDayLimitAdd = nextHotelCfg == null ? 0 : nextHotelCfg.limitDayAdd - hotelCfg.limitDayAdd; _ui.m_comHotel1.m_txtCurValue.text = hotelCfg.limitDayAdd.ToString(); _ui.m_comHotel1.m_txtNextAdd.text = memberDayLimitAdd.ToString(); _ui.m_comHotel1.m_c1.selectedIndex = memberDayLimitAdd > 0 ? 1 : 0; int memberDayExtraLimitAdd = nextHotelCfg == null ? 0 : nextHotelCfg.limitDayAddExtra - hotelCfg.limitDayAddExtra; _ui.m_comHotel2.m_txtCurValue.text = hotelCfg.limitDayAddExtra.ToString(); _ui.m_comHotel2.m_txtNextAdd.text = memberDayExtraLimitAdd.ToString(); _ui.m_comHotel2.m_c1.selectedIndex = memberDayExtraLimitAdd > 0 ? 1 : 0; int flowerLimitAdd = nextHotelCfg == null ? 0 : nextHotelCfg.limitPosition - hotelCfg.limitPosition; _ui.m_comHotel3.m_txtCurValue.text = hotelCfg.limitPosition.ToString(); _ui.m_comHotel3.m_txtNextAdd.text = flowerLimitAdd.ToString(); _ui.m_comHotel3.m_c1.selectedIndex = flowerLimitAdd > 0 ? 1 : 0; if (nextHotelCfg == null) { _ui.m_btnUpLv1.m_txtTip.text = "已满级"; _ui.m_btnUpLv1.m_comCost.visible = false; _ui.m_btnUpLv1.target.enabled = false; } else if (hallCfg.levelHotel == hotelLv) { int needHallLv = hallLv; for (int i = hallLv - 1; i < LeagueHallCfgArray.Instance.dataArray.Length; i++) { LeagueHallCfg _hallCfg = LeagueHallCfgArray.Instance.dataArray[i]; if (_hallCfg.levelHotel > hotelLv) { needHallLv = _hallCfg.level; break; } } _ui.m_btnUpLv1.m_txtTip.text = string.Format("宴客厅{0}级解锁", needHallLv); _ui.m_btnUpLv1.m_comCost.visible = false; _ui.m_btnUpLv1.target.enabled = false; } else { _ui.m_btnUpLv1.m_txtTip.text = ""; _ui.m_btnUpLv1.m_comCost.visible = true; _ui.m_btnUpLv1.target.enabled = true; ItemUtil.UpdateItemNeedNum(_ui.m_btnUpLv1.m_comCost, hotelCfg.consumeArr[0][0], hotelCfg.consumeArr[0][1]); } } private void UpdateStore() { int hallLv = _leagueDataManager.HallLevel; int storeLv = _leagueDataManager.StoreLevel; // int hallLv = _leagueDataManager.LeagueData.HallLevel; LeagueHallCfg hallCfg = LeagueHallCfgArray.Instance.GetCfg(hallLv); // int storeLv = _leagueDataManager.LeagueData.StoreLevel; LeagueStoreCfg storeCfg = LeagueStoreCfgArray.Instance.GetCfg(storeLv); LeagueStoreCfg nextStoreCfg = LeagueStoreCfgArray.Instance.GetCfg(storeLv + 1); _ui.m_txtLv2.text = storeLv.ToString(); int coinLimitAdd = nextStoreCfg == null ? 0 : nextStoreCfg.limitStore - storeCfg.limitStore; _ui.m_comStore0.m_txtCurValue.text = storeCfg.limitStore.ToString(); _ui.m_comStore0.m_txtNextAdd.text = coinLimitAdd.ToString(); _ui.m_comStore0.m_c1.selectedIndex = coinLimitAdd > 0 ? 1 : 0; if (nextStoreCfg == null) { _ui.m_btnUpLv2.m_txtTip.text = "已满级"; _ui.m_btnUpLv2.m_comCost.visible = false; _ui.m_btnUpLv2.target.enabled = false; } else if (hallCfg.levelStore == storeLv) { int needHallLv = hallLv; for (int i = hallLv - 1; i < LeagueHallCfgArray.Instance.dataArray.Length; i++) { LeagueHallCfg _hallCfg = LeagueHallCfgArray.Instance.dataArray[i]; if (_hallCfg.levelStore > storeLv) { needHallLv = _hallCfg.level; break; } } _ui.m_btnUpLv2.m_txtTip.text = string.Format("宴客厅{0}级解锁", needHallLv); _ui.m_btnUpLv2.m_comCost.visible = false; _ui.m_btnUpLv2.target.enabled = false; } else { _ui.m_btnUpLv2.m_txtTip.text = ""; _ui.m_btnUpLv2.m_comCost.visible = true; _ui.m_btnUpLv2.target.enabled = true; ItemUtil.UpdateItemNeedNum(_ui.m_btnUpLv2.m_comCost, storeCfg.consumeArr[0][0], storeCfg.consumeArr[0][1]); } } } }