| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 | 
							- using System.Collections.Generic;
 
- using ET;
 
- using FairyGUI;
 
- using UI.League;
 
- using UnityEngine;
 
- namespace GFGGame
 
- {
 
-     //联盟成员
 
-     public class LeagueMemberView : BaseWindow
 
-     {
 
-         private UI_LeagueMemberUI _ui;
 
-         private LeagueData _leagueData;
 
-         private List<long> _memberIds;
 
-         public override void Dispose()
 
-         {
 
-             if (_ui != null)
 
-             {
 
-                 _ui.Dispose();
 
-                 _ui = null;
 
-             }
 
-             base.Dispose();
 
-         }
 
-         protected override void OnInit()
 
-         {
 
-             base.OnInit();
 
-             packageName = UI_LeagueMemberUI.PACKAGE_NAME;
 
-             _ui = UI_LeagueMemberUI.Create();
 
-             this.viewCom = _ui.target;
 
-             isfullScreen = true;
 
-             isReturnView = true;
 
-             _ui.m_btnBack.onClick.Add(OnBtnBackClick);
 
-             _ui.m_btnRecruit.target.onClick.Add(OnBtnRecruitClick);
 
-             _ui.m_btnApplyList.onClick.Add(OnBtnApplyListClick);
 
-             _ui.m_btnMemberLog.onClick.Add(OnBtnMemberLogClick);
 
-             _ui.m_btnExit.onClick.Add(OnBtnExitClick);
 
-             _ui.m_btnExit1.onClick.Add(OnBtnExitClick);
 
-             _ui.m_comChairman.m_comHead.target.onClick.Add(OnShowOhterInfo);
 
-             _ui.m_comCoChairman.m_comHead.target.onClick.Add(OnShowOhterInfo);
 
-             _ui.m_list.itemRenderer = RenderListItem;
 
-             _ui.m_list.SetVirtual();
 
-             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("lm_beijing");
 
-         }
 
-         protected override void AddEventListener()
 
-         {
 
-             base.AddEventListener();
 
-             EventAgent.AddEventListener(ConstMessage.LEAGUE_MEMBER_CHANGE, UpdateMember);
 
-             EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
 
-         }
 
-         protected override void OnShown()
 
-         {
 
-             base.OnShown();
 
-             UpdateMember();
 
-             UpdateBtnRecruit();
 
-             UpdateRedDot();
 
-         }
 
-         protected override void OnHide()
 
-         {
 
-             base.OnHide();
 
-             if (_ui.m_list.numItems > 0) _ui.m_list.ScrollToView(0);
 
-             Timers.inst.Remove(OnUpdateTimer);
 
-         }
 
-         protected override void RemoveEventListener()
 
-         {
 
-             base.RemoveEventListener();
 
-             EventAgent.RemoveEventListener(ConstMessage.LEAGUE_MEMBER_CHANGE, UpdateMember);
 
-             EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
 
-         }
 
-         private void OnBtnBackClick()
 
-         {
 
-             ViewManager.GoBackFrom(typeof(LeagueMemberView).FullName);
 
-         }
 
-         //招募
 
-         private void OnBtnRecruitClick()
 
-         {
 
-             ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.consumeWantedArr[0][0]);
 
-             long needCount = GlobalCfgArray.globalCfg.consumeWantedArr[0][1];
 
-             long hasCount = ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.consumeWantedArr[0][0]);
 
-             if (needCount > hasCount)
 
-             {
 
-                 PromptController.Instance.ShowFloatTextPrompt("消耗不足");
 
-                 return;
 
-             }
 
-             string tips = string.Format("是否花费{0}*{1}发布24小时招募成员信息,并临时增加新加入成员上限?", itemCfg.name, needCount);
 
-             AlertUI.Show(tips).
 
-             SetLeftButton(true, "取消").
 
-              SetRightButton(true, "确认", async (object param) =>
 
-              {
 
-                  bool result = await LeagueSproxy.ReqSendLeagueAD();
 
-                  if (result)
 
-                  {
 
-                      UpdateBtnRecruit();
 
-                  }
 
-              });
 
-         }
 
-         //申请列表
 
-         private void OnBtnApplyListClick()
 
-         {
 
-             ViewManager.Show<LeagueApplyView>(null, new object[] { typeof(LeagueMemberView).FullName, null });
 
-         }
 
-         //联盟日志
 
-         private void OnBtnMemberLogClick()
 
-         {
 
-             ViewManager.Show<LeagueMemberLogView>(null, new object[] { typeof(LeagueMemberView).FullName, null });
 
-         }
 
-         //退出联盟
 
-         private void OnBtnExitClick()
 
-         {
 
-             long joinLeagueTime = LeagueDataManager.Instance.LeagueData.LeagueMemberDatas[RoleDataManager.roleId].JoinLeagueTime;
 
-             long curTime = TimeHelper.ServerNow();
 
-             long ms = (curTime - joinLeagueTime);
 
-             if (LeagueDataManager.Instance.LeagueData.OwnerId == RoleDataManager.roleId)
 
-             {
 
-                 AlertUI.Show("一家之主不可无呀,先把会长职位给别人吧~").SetRightButton(true, "确认");
 
-             }
 
-             else if (ms < TimeUtil.SECOND_PER_DAY * 1000)
 
-             {
 
-                 AlertUI.Show("您加入的时间不足一天").SetRightButton(true, "确认");
 
-             }
 
-             else if (LeagueDataManager.Instance.CheckTeaPartyRewardCanGet())
 
-             {
 
-                 AlertUI.Show("当前茶话会奖励未领取无法退出雅集,是否前往领取!")
 
-                 .SetLeftButton(true, "取消")
 
-                 .SetRightButton(true, "确认", (object param) =>
 
-                 {
 
-                     ViewManager.Show<LeagueTeaPartyView>();
 
-                 });
 
-             }
 
-             else
 
-             {
 
-                 AlertUI.Show("您忍心退出雅集,离开小伙伴们吗?")
 
-                 .SetLeftButton(true, "取消")
 
-                 .SetRightButton(true, "确认", async (object param) =>
 
-                 {
 
-                     bool result = await LeagueSproxy.ReqQuitLeague();
 
-                     if (result)
 
-                     {
 
-                         ViewManager.Show<MainUIView>(null, null, true);
 
-                     }
 
-                 });
 
-             }
 
-         }
 
-         private void UpdateMember()
 
-         {
 
-             int myPos = LeagueDataManager.Instance.GetMyPos();
 
-             _ui.m_c1.selectedIndex = myPos == LeaguePos.Owner || myPos == LeaguePos.SubOwner ? 1 : 0;
 
-             _leagueData = LeagueDataManager.Instance.LeagueData;
 
-             _memberIds = new List<long>(_leagueData.LeagueMemberDatas.Keys);
 
-             int ownerIndex = _memberIds.IndexOf(_leagueData.OwnerId);
 
-             if (ownerIndex >= 0) _memberIds.RemoveAt(ownerIndex);
 
-             int subOwnerIndex = _memberIds.IndexOf(_leagueData.SubOwnerId);
 
-             if (subOwnerIndex >= 0) _memberIds.RemoveAt(subOwnerIndex);
 
-             _memberIds = SortMemberIds(_memberIds);
 
-             _ui.m_list.numItems = _memberIds.Count;
 
-             UpdateLeader(_ui.m_comChairman.target, LeagueDataManager.Instance.LeagueData.OwnerId);
 
-             UpdateLeader(_ui.m_comCoChairman.target, LeagueDataManager.Instance.LeagueData.SubOwnerId);
 
-         }
 
-         private void UpdateBtnRecruit()
 
-         {
 
-             ItemUtil.UpdateItemNeedNum(_ui.m_btnRecruit.m_comcost, GlobalCfgArray.globalCfg.consumeWantedArr[0][0], GlobalCfgArray.globalCfg.consumeWantedArr[0][1]);
 
-             int myPos = _leagueData.LeagueMemberDatas[RoleDataManager.roleId].Pos;
 
-             bool isLeader = myPos == LeaguePos.Owner || myPos == LeaguePos.SubOwner;
 
-             long timeCount = (LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.AdEndTime) - TimeHelper.ServerNow()) / 1000;
 
-             _ui.m_btnRecruit.target.touchable = timeCount <= 0;
 
-             _ui.m_btnRecruit.m_touchable.selectedIndex = timeCount <= 0 ? 1 : 0;
 
-             // _ui.m_btnRecruit.m_comcost.visible = timeCount > 0 ? false : true;
 
-             // _ui.m_btnRecruit.m_txtTime.text = "";
 
-             if (isLeader && timeCount > 0)
 
-             {
 
-                 _ui.m_btnRecruit.m_txtTime.visible = timeCount > 0 ? true : false;
 
-                 Timers.inst.Add(1, (int)timeCount, OnUpdateTimer);
 
-             }
 
-         }
 
-         private void OnUpdateTimer(object param)
 
-         {
 
-             long timeCount = LeagueDataManager.Instance.GetNumeriValue(LeagueNumericType.AdEndTime) - TimeHelper.ServerNow();
 
-             if (timeCount <= 0)
 
-             {
 
-                 _ui.m_btnRecruit.target.touchable = true;
 
-                 _ui.m_btnRecruit.m_touchable.selectedIndex = 1;
 
-                 // _ui.m_btnRecruit.m_txtTime.text = "";
 
-                 Timers.inst.Remove(OnUpdateTimer);
 
-             }
 
-             string time = TimeUtil.FormattingTimeTo_HHmmss(timeCount);
 
-             _ui.m_btnRecruit.m_txtTime.text = string.Format("剩余时间: {0}", time);
 
-         }
 
-         private void UpdateLeader(GObject obj, long roleId)
 
-         {
 
-             LeagueMemberData memberData = _leagueData.LeagueMemberDatas.ContainsKey(roleId) ? _leagueData.LeagueMemberDatas[roleId] : null;
 
-             UI_ComLeader com = UI_ComLeader.Proxy(obj);
 
-             if (memberData == null)
 
-             {
 
-                 com.m_txtName.text = "虚位以待";
 
-                 com.m_txtLvl.text = "--";
 
-                 com.m_comHead.m_loaIcon.url = "";
 
-                 com.m_loaHeadBorder.url = "";
 
-                 com.m_btnAppoint.visible = false;
 
-                 com.m_loaTitle.url = "";
 
-                 com.target.data = null;
 
-             }
 
-             else
 
-             {
 
-                 ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(memberData.RoleInfo.headId == 0 ? ConstItemID.HEADID : memberData.RoleInfo.headId);
 
-                 ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(memberData.RoleInfo.headBorderId == 0 ? ConstItemID.HEADBORDERID : memberData.RoleInfo.headBorderId);
 
-                 com.m_comHead.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
 
-                 com.m_loaHeadBorder.url = "";// ResPathUtil.GetHeadBorderPath(headBorderCfg.res);
 
-                 com.m_txtLvl.text = memberData.RoleInfo.roleLv.ToString();
 
-                 com.m_txtName.text = memberData.RoleInfo.roleName;
 
-                 com.m_loaTitle.url = string.Format("ui://League/lm_chenghao_{0}", memberData.Pos);
 
-                 com.m_btnAppoint.visible = memberData.Pos == LeaguePos.SubOwner && _leagueData.LeagueMemberDatas[RoleDataManager.roleId].Pos == LeaguePos.Owner;
 
-                 if (com.m_btnAppoint.data == null)
 
-                 {
 
-                     com.m_btnAppoint.onClick.Add(OnBtnAppointClick);
 
-                 }
 
-                 com.m_btnAppoint.data = memberData;
 
-                 com.m_comHead.target.data = roleId;
 
-             }
 
-             UI_ComLeader.Proxy();
 
-         }
 
-         private async void OnShowOhterInfo(EventContext context)
 
-         {
 
-             GObject gObject = context.sender as GObject;
 
-             if (gObject.data == null)
 
-             {
 
-                 return;
 
-             }
 
-             long roleId = (long)gObject.data;
 
-             OtherRoleInfoData roleInfoData = LeagueDataManager.Instance.GetMemberRoleInfo(roleId);
 
-             OtherRoleInfoDetailData detailData = await RoleInfoSProxy.ReqOtherRoleDetailInfo(roleId);
 
-             ViewManager.Show<OtherRoleInfoView>(new object[] { roleInfoData, detailData }, new object[] { typeof(LeagueView).FullName, null });
 
-         }
 
-         private void RenderListItem(int index, GObject obj)
 
-         {
 
-             LeagueMemberData memberData = _leagueData.LeagueMemberDatas[_memberIds[index]];
 
-             UI_ListMemberItem item = UI_ListMemberItem.Proxy(obj);
 
-             RoleInfoManager.Instance.UpdateHeadWithLv(item.m_comHead, memberData.RoleInfo.headId, memberData.RoleInfo.headBorderId, memberData.RoleInfo.roleLv);
 
-             item.m_txtName.text = memberData.RoleInfo.roleName;
 
-             item.m_txtWeekContribuation.text = memberData.WeekContribution.ToString();
 
-             item.m_txtAllContribuation.text = memberData.AllContribution.ToString();
 
-             // item.m_loaTitle.visible = memberData.Pos != LeaguePos.Member;
 
-             item.m_loaTitle.url = memberData.Pos == LeaguePos.Member ? "" : string.Format("ui://League/lm_chenghao_{0}", memberData.Pos);
 
-             if (memberData.RoleInfo.offlineTimeSec == 0)
 
-             {
 
-                 item.m_txtState.text = "在线";
 
-             }
 
-             else
 
-             {
 
-                 TimeUtil.FormattingTime(memberData.RoleInfo.offlineTimeSec, TimeHelper.ServerNow(), out int num, out string strState);
 
-                 strState = strState == "秒" ? "刚刚" : num + strState + "前";
 
-                 item.m_txtState.text = strState;
 
-             }
 
-             int myPos = _leagueData.LeagueMemberDatas[RoleDataManager.roleId].Pos;
 
-             item.m_btnAppoint.visible = myPos == LeaguePos.Owner || myPos == LeaguePos.SubOwner;
 
-             if (item.m_btnAppoint.data == null)
 
-             {
 
-                 item.m_btnAppoint.onClick.Add(OnBtnAppointClick);
 
-             }
 
-             item.m_btnAppoint.data = memberData;
 
-             if (item.m_comHead.data == null)
 
-             {
 
-                 item.m_comHead.onClick.Add(OnShowOhterInfo);
 
-             }
 
-             item.m_comHead.data = memberData.RoleInfo.roleId;
 
-             UI_ListMemberItem.ProxyEnd();
 
-         }
 
-         private void OnBtnAppointClick(EventContext context)
 
-         {
 
-             GObject obj = context.sender as GObject;
 
-             LeagueMemberData memberData = obj.data as LeagueMemberData;
 
-             if (!_leagueData.LeagueMemberDatas.ContainsKey(memberData.RoleInfo.roleId))
 
-             {
 
-                 PromptController.Instance.ShowFloatTextPrompt("该玩家已离开雅集");
 
-                 return;
 
-             }
 
-             ViewManager.Show<LeagueMemberAppointView>(memberData, new object[] { typeof(LeagueMemberView).FullName, null });
 
-         }
 
-         private List<long> SortMemberIds(List<long> memberIds)
 
-         {
 
-             memberIds.Sort((long a, long b) =>
 
-             {
 
-                 LeagueMemberData memberDataA = _leagueData.LeagueMemberDatas[a];
 
-                 LeagueMemberData memberDataB = _leagueData.LeagueMemberDatas[b];
 
-                 if (memberDataA.Pos == LeaguePos.Flower && memberDataB.Pos != LeaguePos.Flower) return -1;
 
-                 if (memberDataA.Pos != LeaguePos.Flower && memberDataB.Pos == LeaguePos.Flower) return 1;
 
-                 if (memberDataA.RoleInfo.offlineTimeSec == 0 && memberDataB.RoleInfo.offlineTimeSec != 0) return -1;
 
-                 if (memberDataA.RoleInfo.offlineTimeSec != 0 && memberDataB.RoleInfo.offlineTimeSec == 0) return 1;
 
-                 if (memberDataA.WeekContribution > memberDataB.WeekContribution) return -1;
 
-                 if (memberDataA.WeekContribution < memberDataB.WeekContribution) return 1;
 
-                 if (memberDataA.AllContribution > memberDataB.AllContribution) return -1;
 
-                 if (memberDataA.AllContribution < memberDataB.AllContribution) return 1;
 
-                 if (memberDataA.RoleInfo.roleLv > memberDataB.RoleInfo.roleLv) return -1;
 
-                 if (memberDataA.RoleInfo.roleLv < memberDataB.RoleInfo.roleLv) return 1;
 
-                 if (memberDataA.RoleInfo.offlineTimeSec > memberDataB.RoleInfo.offlineTimeSec) return -1;
 
-                 if (memberDataA.RoleInfo.offlineTimeSec < memberDataB.RoleInfo.offlineTimeSec) return 1;
 
-                 return 0;
 
-             });
 
-             return memberIds;
 
-         }
 
-         private void UpdateRedDot()
 
-         {
 
-             RedDotController.Instance.SetComRedDot(_ui.m_btnApplyList, RedDotDataManager.Instance.GetLeagueMemberJoinRed());
 
-         }
 
-     }
 
- }
 
 
  |