Exemplo n.º 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);
        }
    }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 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();
 }
Exemplo n.º 4
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);
        }
    }
Exemplo n.º 5
0
    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();
    }
Exemplo n.º 6
0
    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();
    }