public void CreateSearchFri(HeaderProto.SFriendInfo info) { searchFri.id = info.m_RoleDBID.ToString(); searchFri.gender = info.m_Sex; searchFri.hairStyle = (byte)info.m_Head; searchFri.color = info.m_SkinColor; searchFri.name = Encoding.UTF8.GetString(info.m_Name).Trim('\0'); searchFri.level = info.m_Level.ToString(); searchFri.job = info.m_Job.ToString(); searchFri.power = info.m_Attack.ToString(); searchFri.isOnline = info.m_IsOnline == 1 ? true : false; searchFri.point = (int)info.m_ActionPoint; searchFri.canSend = info.m_CanDonateActionPoint == 1 ? true : false; HeaderProto.SRSRoleEquipData equip = info.m_Equip; int itemNum = equip.m_Count; for (int i = 0; i < itemNum; ++i) { searchFri.equipList.Add((uint)equip.m_EquipInfo[i].m_TID); } HeaderProto.SRSRolePetData pet = info.m_Pet; int petNum = pet.m_Count; for (int i = 0; i < petNum; ++i) { SClientPetInfo petInfo = new SClientPetInfo(); petInfo.m_uiTemplateID = (uint)(pet.m_PetInfo[i].m_TemplateID); searchFri.petList.Add(petInfo); } }
private static void msg_SCID_REQUEST_ADD_FRIEND_NTF(int iMsgID, ref CMessage msg) { CliProto.SC_REQUEST_ADD_FRIEND_NTF refMSG = (CliProto.SC_REQUEST_ADD_FRIEND_NTF)msg; HeaderProto.SFriendInfo info = refMSG.m_Info.m_NewInfo.m_Info; sdFriendMgr.Instance.CreateTempFriend(info); sdUICharacter.Instance.RefreshFriRequest(); sdNewInfoMgr.Instance.CreateNewInfo(NewInfoType.Type_Friend); }
private static void msg_SCID_ADD_FRIEND_ACK(int iMsgID, ref CMessage msg) { CliProto.SC_ADD_FRIEND_ACK refMSG = (CliProto.SC_ADD_FRIEND_ACK)msg; if (refMSG.m_Info.m_Result == 1) { HeaderProto.SFriendInfo info = refMSG.m_Info.m_Friends[0]; sdFriendMgr.Instance.CreateFriend(info); sdNewInfoMgr.Instance.CreateNewInfo(NewInfoType.Type_Friend); } sdUICharacter.Instance.RefreshFriRequest(); sdUICharacter.Instance.RefreshFri(); }
public void CreateFriend(HeaderProto.SFriendInfo info) { sdFriend friend = GetFriend(info.m_RoleDBID.ToString()); if (friend == null) { friend = new sdFriend(); } friend.id = info.m_RoleDBID.ToString(); friend.gender = info.m_Sex; friend.hairStyle = (byte)info.m_Head; friend.color = info.m_SkinColor; friend.name = Encoding.UTF8.GetString(info.m_Name).Trim('\0'); friend.level = info.m_Level.ToString(); friend.job = info.m_Job.ToString(); friend.power = info.m_Attack.ToString(); friend.isOnline = info.m_IsOnline == 1 ? true : false; friend.point = (int)info.m_ActionPoint; friend.canSend = info.m_CanDonateActionPoint == 1 ? true : false; HeaderProto.SRSRoleEquipData equip = info.m_Equip; int itemNum = equip.m_Count; for (int i = 0; i < itemNum; ++i) { friend.equipList.Add((uint)equip.m_EquipInfo[i].m_TID); } HeaderProto.SRSRolePetData pet = info.m_Pet; int petNum = pet.m_Count; for (int i = 0; i < petNum; ++i) { SClientPetInfo petInfo = new SClientPetInfo(); petInfo.m_uiTemplateID = (uint)(pet.m_PetInfo[i].m_TemplateID); friend.petList.Add(petInfo); } if (friendList.ContainsKey(friend.id)) { friendList[friend.id] = friend; } else { friendList.Add(friend.id, friend); } }
private static void msg_SCID_QUERY_ROLE_ACK(int iMsgID, ref CMessage msg) { CliProto.SC_QUERY_ROLE_ACK refMSG = (CliProto.SC_QUERY_ROLE_ACK)msg; //sdFriendMgr.Instance.curPage = (int)refMSG.m_Info.m_Page; //sdFriendMgr.Instance.maxPage = (int)refMSG.m_Info.m_TotalPage; int num = (int)refMSG.m_Info.m_Count; if (num == 0) { sdUICharacter.Instance.ShowOkMsg(sdConfDataMgr.Instance().GetShowStr("SearchNoFri"), null); return; } for (int i = 0; i < num; ++i) { HeaderProto.SFriendInfo info = refMSG.m_Info.m_Lists[i]; sdFriendMgr.Instance.CreateSearchFri(info); } sdFriendMgr.Instance.isReceive = true; sdUICharacter.Instance.ShowSearchFri(); }
private static void msg_SCID_FRIENDS_LIST_NTF(int iMsgID, ref CMessage msg) { sdFriendMgr.Instance.Clear(); CliProto.SC_FRIENDS_LIST_NTF refMSG = (CliProto.SC_FRIENDS_LIST_NTF)msg; int num = (int)refMSG.m_Info.m_Count; for (int i = 0; i < num; ++i) { HeaderProto.SFriendInfo info = refMSG.m_Info.m_List[i]; sdFriendMgr.Instance.CreateFriend(info); } num = (int)refMSG.m_Info.m_InviteList.m_InviteCount; for (int i = 0; i < num; ++i) { sdFriendMgr.Instance.CreateTempFriend(refMSG.m_Info.m_InviteList.m_InviteList[i].m_Info); } if (num > 0) { sdNewInfoMgr.Instance.CreateNewInfo(NewInfoType.Type_Friend); } notifyGetFriAssList(); }