コード例 #1
0
ファイル: GameHallWndView.cs プロジェクト: zwong91/Titan
        public void OnInputFieldValueChange()
        {
            // 查询数据
            if (SerchInfo == null || AllDataSource == null)
            {
                return;
            }

            if (SerchInfo.text == string.Empty)
            {
                // 所有数据显示
                ListHall.DataSource = AllDataSource;
            }
            else
            {
                string strValue = SerchInfo.text;
                // 显示过滤的数据
                IEnumerable <UListItemHallData> ListQuery = from item in AllDataSource
                                                            where item.nRoomIndex == Convert.ToInt32(strValue)
                                                            select item;

                UIWidgets.ObservableList <UListItemHallData> dataSource = new UIWidgets.ObservableList <UListItemHallData>();
                foreach (UListItemHallData Item in ListQuery)
                {
                    dataSource.Add(Item);
                }

                ListHall.DataSource = dataSource;
            }
        }
コード例 #2
0
ファイル: LegendCupKinInfoWnd.cs プロジェクト: zwong91/Titan
        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();
        }
コード例 #3
0
ファイル: GameHallWndView.cs プロジェクト: zwong91/Titan
        public void SetRoomListData(IntPtr ptrParam, int nPtrLen)
        {
            IntPtrVaArgParseHelper    helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen);
            cmd_match_hall_rooms_head head   = helper.get <GameLogic.cmd_match_hall_rooms_head>();

            for (int i = 0; i < head.nRoomCount; ++i)
            {
                GameLogic.cmd_match_hall_add_room cmdNodeData = helper.get <GameLogic.cmd_match_hall_add_room>();

                UListItemHallData hallData = new UListItemHallData();
                hallData.nRoomIndex        = cmdNodeData.nRoomIndex;
                hallData.nRoomId           = cmdNodeData.nRoomIndex;
                hallData.RoomName          = cmdNodeData.szRoomName;
                hallData.GameMap           = cmdNodeData.szMapDes;
                hallData.nCurPlayerCount   = cmdNodeData.nCurPlayerNum;
                hallData.nTotalPlayerCount = cmdNodeData.nMaxPlayerNum;
                hallData.bLock             = cmdNodeData.bLock > 0 ? true : false;
                ListHall.DataSource.Add(hallData);
                UListItemHallData hallDataCpy = hallData;

                AllDataSource.Add(hallDataCpy);
            }

            if (m_CurSelectRoomID > 0)
            {
                for (int i = 0; i < ListHall.DataSource.Count; i++)
                {
                    UListItemHallData temp = ListHall.DataSource[i];
                    if (temp.nRoomId == m_CurSelectRoomID)
                    {
                        ListHall.Select(i);
                        break;
                    }
                }
            }
            else
            {
                // 默认选中一个无密码、人数不足的房间
                for (int i = 0; i < ListHall.DataSource.Count; i++)
                {
                    UListItemHallData temp = ListHall.DataSource[i];
                    if (temp.nCurPlayerCount < temp.nTotalPlayerCount && !temp.bLock)
                    {
                        m_CurHallItem     = temp;
                        m_CurSelectRoomID = temp.nRoomId;
                        ListHall.Select(i);
                        break;
                    }
                }
            }
        }
コード例 #4
0
ファイル: GameHallWndView.cs プロジェクト: zwong91/Titan
        public void OnRefreshButtonClick()
        {
            UIWidgets.ObservableList <UListItemHallData> dataSource = new UIWidgets.ObservableList <UListItemHallData>();
            foreach (UListItemHallData Item in AllDataSource)
            {
                dataSource.Add(Item);
            }

            ListHall.DataSource.Clear();
            ListHall.DataSource.BeginUpdate();
            ListHall.DataSource = dataSource;
            ListHall.DataSource.EndUpdate();

            m_CurHallItem     = null;
            m_CurSelectRoomID = -1;
        }
コード例 #5
0
ファイル: LegendCupKinInfoWnd.cs プロジェクト: zwong91/Titan
        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;
        }