public void OnOfflineTogChanged(bool bSelect) { CurSelectItem = null; ListKinMember.DataSource.BeginUpdate(); ListKinMember.DataSource.Clear(); List <cmd_kin_membernode> KinMemberList = LogicDataCenter.kinDataManager.LegendKinMemberList; for (int i = 0; i < KinMemberList.Count; ++i) { cmd_kin_membernode cmdNodeData = KinMemberList[i]; UListItemKinMember item = new UListItemKinMember(); Toggle tOffLineTog = OffLineTog.GetComponent <Toggle>(); if (!tOffLineTog.isOn && cmdNodeData.bIsOnline == 0) { // 隐藏不在线玩家 continue; } item.IdentityID = cmdNodeData.nIdentity; item.PlayerID = cmdNodeData.dwPDBID; item.GradIcon += cmdNodeData.szGradeName; item.PersonIcon = cmdNodeData.nFaceID; item.PersonName += cmdNodeData.szName; item.Power = cmdNodeData.dwBattleVal; item.PowerRank += cmdNodeData.dwBVOrder; item.GameState = cmdNodeData.byGameState; item.Level += cmdNodeData.nLevel; item.isOnline = cmdNodeData.bIsOnline; item.nSex = cmdNodeData.nSex; item.nLastOrder = cmdNodeData.dwLastOrder; item.nBVOrder = cmdNodeData.dwBVOrder; PopupAction = new UPopupAction(); if (EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID) != item.PlayerID) { PopupAction.Add(UPopupItemDataGetPlayerDetail.GetDescString(), new UPopupItemDataGetPlayerDetail(item.PlayerID)); PopupAction.Add(UPopupItemDataTeamInvite.GetDescString(), new UPopupItemDataTeamInvite(item.PlayerID)); PopupAction.Add(UPopupItemDataTeamRequest.GetDescString(), new UPopupItemDataTeamRequest(item.PlayerID)); } item.PopupAction = PopupAction; ListKinMember.DataSource.Add(item); } // 排序 IEnumerable <UListItemKinMember> ListQuery = from item in ListKinMember.DataSource orderby item.isOnline descending, item.IdentityID descending, item.Power descending select item; UIWidgets.ObservableList <UListItemKinMember> dataSource = new UIWidgets.ObservableList <UListItemKinMember>(); foreach (UListItemKinMember Item in ListQuery) { dataSource.Add(Item); } ListKinMember.DataSource = dataSource; ListKinMember.DataSource.EndUpdate(); }
public void OnSelectKinMember(int index, UIWidgets.ListViewItem item) { // 选择当前数据 nCurSelectIndex = index; CurSelectItem = ListKinMember.DataSource[index]; }
public void SetKinMemberData() { ListKinMember.DataSource.Clear(); ListKinMember.OnSelect.RemoveListener(OnSelectKinMember); ListKinMember.onRightClick.RemoveListener(OnSelectKinMember); cmd_kin_basedata cmdHead = LogicDataCenter.kinDataManager.LegendKinBaseData; List <cmd_kin_membernode> listData = LogicDataCenter.kinDataManager.LegendKinMemberList; UIWidgets.ObservableList <UListItemKinMember> dataSource = new UIWidgets.ObservableList <UListItemKinMember>(); ListKinMember.DataSource.Clear(); for (int i = 0; i < cmdHead.nMemberCount; ++i) { GameLogic.cmd_kin_membernode cmdNodeData = listData[i]; UListItemKinMember item = new UListItemKinMember(); Toggle tOffLineTog = OffLineTog.GetComponent <Toggle>(); if (!tOffLineTog.isOn && cmdNodeData.bIsOnline == 0) { // 隐藏不在线玩家 continue; } item.IdentityID = cmdNodeData.nIdentity; item.PlayerID = cmdNodeData.dwPDBID; item.GradIcon += cmdNodeData.szGradeName; item.PersonIcon = cmdNodeData.nFaceID; item.PersonName += cmdNodeData.szName; item.Power += cmdNodeData.dwBattleVal; item.PowerRank += cmdNodeData.dwBVOrder; item.GameState = cmdNodeData.byGameState; item.Level += cmdNodeData.nLevel; item.isOnline = cmdNodeData.bIsOnline; item.nSex = cmdNodeData.nSex; item.nLastOrder = cmdNodeData.dwLastOrder; item.nBVOrder = cmdNodeData.dwBVOrder; PopupAction = new UPopupAction(); if (EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID) != item.PlayerID) { PopupAction.Add(UPopupItemDataGetPlayerDetail.GetDescString(), new UPopupItemDataGetPlayerDetail(item.PlayerID)); PopupAction.Add(UPopupItemDataTeamInvite.GetDescString(), new UPopupItemDataTeamInvite(item.PlayerID)); PopupAction.Add(UPopupItemDataTeamRequest.GetDescString(), new UPopupItemDataTeamRequest(item.PlayerID)); } item.PopupAction = PopupAction; dataSource.Add(item); } // 排序 IEnumerable <UListItemKinMember> ListQuery = from item in dataSource orderby item.isOnline descending, item.IdentityID descending, item.Power descending select item; UIWidgets.ObservableList <UListItemKinMember> tDataSource = new UIWidgets.ObservableList <UListItemKinMember>(); foreach (UListItemKinMember Item in ListQuery) { tDataSource.Add(Item); } ListKinMember.DataSource = tDataSource; ListKinMember.OnSelect.AddListener(OnSelectKinMember); ListKinMember.onRightClick.AddListener(OnSelectKinMember); // 设置战队基本数据 KinName.text = cmdHead.szKinName; KinShaikhName.text = cmdHead.szShaikhName; KinLevel.text = cmdHead.nKinLevel.ToString(); TotalMemberInfo.text = cmdHead.nOnlineCount + " / " + cmdHead.nMemberCount + "( " + ULocalizationService.Instance.Get("UIView", "KinMember", "MaxCountDes") + cmdHead.nKinMaxMember + ")"; TotalFight.text = cmdHead.nTotalFight.ToString(); TotalOrder.text = cmdHead.nFightOrder.ToString(); KinLabel.text = cmdHead.szKinLabel; MatchResult.text = cmdHead.nMatchWinNum + " / " + cmdHead.nMatchTotalNum; GoldAward.SetData(cmdHead.nGoldNum); SilverAward.SetData(cmdHead.nSilverNum); KinNoticeDes.text = cmdHead.szNotice; }