示例#1
0
        private void On_Friend_SNS_STATE_NTF(CSPkg msg)
        {
            SCPKG_NTF_SNS_FRIEND stNtfSnsFriend = msg.stPkgData.stNtfSnsFriend;
            CRoleInfo            masterRoleInfo = Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo();

            uint num  = (masterRoleInfo == null) ? 0 : ((uint)masterRoleInfo.getCurrentTimeSinceLogin());
            uint num2 = 0x15180 * GameDataMgr.globalInfoDatabin.GetDataByKey((uint)0x9e).dwConfValue;

            for (int i = 0; i < stNtfSnsFriend.dwSnsFriendNum; i++)
            {
                CSDT_SNS_FRIEND_INFO info = stNtfSnsFriend.astSnsFriendList[i];
                if (info != null)
                {
                    this.model.Add(CFriendModel.FriendType.SNS, info.stSnsFrindInfo, false);
                    this.model.SetFriendGameState(info.stSnsFrindInfo.stUin.ullUid, info.stSnsFrindInfo.stUin.dwLogicWorldId, (COM_ACNT_GAME_STATE)info.bGameState, UT.Bytes2String(info.szNickName), false);
                    this.Handle_CoinSend_Data(info);
                }
            }
            this.model.SortSNSFriend();
            if ((this.view != null) && this.view.IsActive())
            {
                this.view.Refresh();
            }
            Singleton <EventRouter> .instance.BroadCastEvent(EventID.Friend_Game_State_Change);
        }
示例#2
0
        private void On_Friend_SNS_STATE_NTF(CSPkg msg)
        {
            SCPKG_NTF_SNS_FRIEND stNtfSnsFriend = msg.stPkgData.get_stNtfSnsFriend();
            int num = 0;

            while ((long)num < (long)((ulong)stNtfSnsFriend.dwSnsFriendNum))
            {
                CSDT_SNS_FRIEND_INFO cSDT_SNS_FRIEND_INFO = stNtfSnsFriend.astSnsFriendList[num];
                if (cSDT_SNS_FRIEND_INFO != null)
                {
                    if (cSDT_SNS_FRIEND_INFO.bVideoState != 0)
                    {
                        if (cSDT_SNS_FRIEND_INFO.stGameInfo.get_stDetail() == null)
                        {
                            DebugHelper.Assert(false, "SCPKG_NTF_SNS_FRIEND [bMultGameSubState == COM_ACNT_MULTIGAME_GAMING] and  [stGameInfo.stDetail == null] , this is sever' guo!");
                        }
                        else
                        {
                            bool flag = false;
                            for (int i = 0; i < this.OBFriendList.get_Count(); i++)
                            {
                                if (stNtfSnsFriend.astSnsFriendList[num].stSnsFrindInfo.stUin.ullUid == this.OBFriendList.get_Item(i).uin.ullUid)
                                {
                                    COBSystem.stOBFriend stOBFriend = this.OBFriendList.get_Item(i);
                                    stOBFriend.gameDetail = stNtfSnsFriend.astSnsFriendList[num].stGameInfo.get_stDetail();
                                    this.OBFriendList.set_Item(i, stOBFriend);
                                    flag = true;
                                    break;
                                }
                            }
                            if (!flag)
                            {
                                COBSystem.stOBFriend stOBFriend = default(COBSystem.stOBFriend);
                                stOBFriend.uin        = stNtfSnsFriend.astSnsFriendList[num].stSnsFrindInfo.stUin;
                                stOBFriend.friendName = Utility.UTF8Convert(stNtfSnsFriend.astSnsFriendList[num].stSnsFrindInfo.szUserName);
                                stOBFriend.headUrl    = Utility.UTF8Convert(stNtfSnsFriend.astSnsFriendList[num].stSnsFrindInfo.szHeadUrl);
                                stOBFriend.gameDetail = stNtfSnsFriend.astSnsFriendList[num].stGameInfo.get_stDetail();
                                this.OBFriendList.Add(stOBFriend);
                            }
                        }
                    }
                }
                num++;
            }
            this.UpdateView();
        }
示例#3
0
        private void On_Friend_SNS_STATE_NTF(CSPkg msg)
        {
            SCPKG_NTF_SNS_FRIEND stNtfSnsFriend = msg.stPkgData.stNtfSnsFriend;

            for (int i = 0; i < stNtfSnsFriend.dwSnsFriendNum; i++)
            {
                CSDT_SNS_FRIEND_INFO csdt_sns_friend_info = stNtfSnsFriend.astSnsFriendList[i];
                if ((csdt_sns_friend_info != null) && (csdt_sns_friend_info.bVideoState != 0))
                {
                    stOBFriend friend;
                    if (csdt_sns_friend_info.stGameInfo.stDetail == null)
                    {
                        DebugHelper.Assert(false, "SCPKG_NTF_SNS_FRIEND [bMultGameSubState == COM_ACNT_MULTIGAME_GAMING] and  [stGameInfo.stDetail == null] , this is sever' guo!");
                        continue;
                    }
                    bool flag = false;
                    for (int j = 0; j < this.OBFriendList.Count; j++)
                    {
                        stOBFriend friend2 = this.OBFriendList[j];
                        if (stNtfSnsFriend.astSnsFriendList[i].stSnsFrindInfo.stUin.ullUid == friend2.uin.ullUid)
                        {
                            friend               = this.OBFriendList[j];
                            friend.gameDetail    = stNtfSnsFriend.astSnsFriendList[i].stGameInfo.stDetail;
                            this.OBFriendList[j] = friend;
                            flag = true;
                            break;
                        }
                    }
                    if (!flag)
                    {
                        friend = new stOBFriend {
                            uin        = stNtfSnsFriend.astSnsFriendList[i].stSnsFrindInfo.stUin,
                            friendName = Utility.UTF8Convert(stNtfSnsFriend.astSnsFriendList[i].stSnsFrindInfo.szUserName),
                            headUrl    = Utility.UTF8Convert(stNtfSnsFriend.astSnsFriendList[i].stSnsFrindInfo.szHeadUrl),
                            gameDetail = stNtfSnsFriend.astSnsFriendList[i].stGameInfo.stDetail
                        };
                        this.OBFriendList.Add(friend);
                    }
                }
            }
            this.UpdateView();
        }
示例#4
0
 private void Handle_CoinSend_Data(CSDT_SNS_FRIEND_INFO info)
 {
     this.Update_Send_Coin_Data(info.stSnsFrindInfo.stUin, (ulong)info.dwDonateTime, COM_FRIEND_TYPE.COM_FRIEND_TYPE_SNS);
 }