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); }
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(); }
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(); }
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); }