using System.Threading.Tasks; using ET; using FairyGUI; using UI.League; using UnityEngine; namespace GFGGame { //联盟成员管理 public class LeagueMemberAppointView : BaseWindow { private UI_LeagueMemberAppointUI _ui; private LeagueMemberData _memberData; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_LeagueMemberAppointUI.PACKAGE_NAME; _ui = UI_LeagueMemberAppointUI.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_btnClose.onClick.Add(Hide); _ui.m_btnRule.onClick.Add(RuleController.ShowRuleView); _ui.m_btnRule.data = 300007; _ui.m_btnKick.onClick.Add(OnBtnKickClick); _ui.m_btnAppoint0.target.onClick.Add(OnBtnAppointClick); _ui.m_btnAppoint0.target.data = LeaguePos.Owner; _ui.m_btnAppoint1.target.onClick.Add(OnBtnAppointClick); _ui.m_btnAppoint1.target.data = LeaguePos.SubOwner; _ui.m_btnAppoint2.target.onClick.Add(OnBtnAppointClick); _ui.m_btnAppoint2.target.data = LeaguePos.Flower; } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.LEAGUE_MEMBER_CHANGE, UpdateView); } protected override void OnShown() { base.OnShown(); _memberData = this.viewData as LeagueMemberData; _ui.m_c1.selectedIndex = 0; _ui.m_c2.selectedIndex = 0; UpdateView(); } protected override void OnHide() { base.OnHide(); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.LEAGUE_MEMBER_CHANGE, UpdateView); } private void OnBtnKickClick() { AlertUI.Show("是否确认请离这个小伙伴?") .SetLeftButton(true, "取消") .SetRightButton(true, "确认", async (object param) => { bool result = await LeagueSproxy.ReqKickLeague(_memberData.RoleInfo.roleId); if (result) { Hide(); } }); } private void OnBtnAppointClick(EventContext context) { GButton button = context.sender as GButton; int pos = button.selected ? (int)button.data : LeaguePos.Member; if (pos == LeaguePos.Owner) { AlertUI.Show("是否把会长职位转让给该成员?") .SetLeftButton(true, "取消", (object param) => { _ui.m_c2.selectedIndex = _ui.m_c2.previsousIndex; }) .SetRightButton(true, "确认", async (object param) => { bool result = await LeagueSproxy.ReqChangeLeaguePos(_memberData.RoleInfo.roleId, pos); if (result) { Hide(); } }); } else { LeagueSproxy.ReqChangeLeaguePos(_memberData.RoleInfo.roleId, pos).Coroutine(); } } private void UpdateView() { int myPos = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[RoleDataManager.roleId].Pos; if (myPos != LeaguePos.Owner && myPos != LeaguePos.SubOwner) { PromptController.Instance.ShowFloatTextPrompt("您的职位发生变化"); Hide(); return; } _ui.m_c1.selectedIndex = myPos == LeaguePos.Owner ? 1 : 0; _ui.m_btnAppoint0.target.title = "1/1"; _ui.m_btnAppoint0.m_imgGrey.visible = false; _ui.m_btnAppoint1.target.touchable = LeagueDataManager.Instance.LeagueData.SubOwnerId == 0 || _memberData.Pos == LeaguePos.SubOwner ? true : false; _ui.m_btnAppoint1.m_imgGrey.visible = _memberData.Pos != LeaguePos.SubOwner && LeagueDataManager.Instance.LeagueData.SubOwnerId > 0 ? true : false; _ui.m_btnAppoint1.target.selected = _memberData.Pos == LeaguePos.SubOwner ? true : false; _ui.m_btnAppoint1.target.title = LeagueDataManager.Instance.LeagueData.SubOwnerId == 0 ? "0/1" : "1/1"; LeagueHotelCfg hotelCfg = LeagueHotelCfgArray.Instance.GetCfg((int)LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.HotelLevel)); _ui.m_btnAppoint2.target.touchable = _memberData.Pos == LeaguePos.Flower || LeagueDataManager.Instance.LeagueData.FlowerNum < hotelCfg.limitPosition ? true : false; _ui.m_btnAppoint2.m_imgGrey.visible = _memberData.Pos != LeaguePos.Flower && LeagueDataManager.Instance.LeagueData.FlowerNum == hotelCfg.limitPosition ? true : false; ; _ui.m_btnAppoint2.target.selected = _memberData.Pos == LeaguePos.Flower ? true : false; Debug.Log("FlowerNum" + LeagueDataManager.Instance.LeagueData.FlowerNum); _ui.m_btnAppoint2.target.title = LeagueDataManager.Instance.LeagueData.FlowerNum + "/" + hotelCfg.limitPosition; } } }