コード例 #1
0
    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);
        }
    }
コード例 #2
0
ファイル: sdFriendMsg.cs プロジェクト: tsinglee2009/Dczg
    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();
        }
    }
コード例 #3
0
    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);
        }
    }