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); } }
public static void msg_SCID_FRIEND_INFO_CHANGE_NTF(int iMsgID, ref CMessage msg) { CliProto.SC_FRIEND_INFO_CHANGE_NTF refMSG = (CliProto.SC_FRIEND_INFO_CHANGE_NTF)msg; sdFriend fri = sdFriendMgr.Instance.GetFriend(refMSG.m_Info.m_RoleDBID.ToString()); if (fri != null) { if (refMSG.m_Info.m_Info.m_Type == (byte)HeaderProto.RS_ROLE_PROERTY_TYPE.RS_ROLE_PROPERTY_NULL) { return; } else if (refMSG.m_Info.m_Info.m_Type == (byte)HeaderProto.RS_ROLE_PROERTY_TYPE.RS_ROLE_PROPERTY_BASE) { fri.level = refMSG.m_Info.m_Info.m_Property.m_Base.m_Level.ToString(); fri.power = refMSG.m_Info.m_Info.m_Property.m_Base.m_Attack.ToString(); } else if (refMSG.m_Info.m_Info.m_Type == (byte)HeaderProto.RS_ROLE_PROERTY_TYPE.RS_ROLE_PROPERTY_PET) { fri.petList.Clear(); HeaderProto.SRSRolePetData pet = refMSG.m_Info.m_Info.m_Property.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); fri.petList.Add(petInfo); } } else if (refMSG.m_Info.m_Info.m_Type == (byte)HeaderProto.RS_ROLE_PROERTY_TYPE.RS_ROLE_PROPERTY_EQUIP) { fri.equipList.Clear(); int itemNum = refMSG.m_Info.m_Info.m_Property.m_Equip.m_Count; for (int i = 0; i < itemNum; ++i) { fri.equipList.Add((uint)refMSG.m_Info.m_Info.m_Property.m_Equip.m_EquipInfo[i].m_TID); } } else if (refMSG.m_Info.m_Info.m_Type == (byte)HeaderProto.RS_ROLE_PROERTY_TYPE.RS_ROLE_PROPERTY_ONLINE) { fri.isOnline = refMSG.m_Info.m_Info.m_Property.m_Online.m_IsOnline == 1 ? true : false; } 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); } }