Exemplo n.º 1
0
    public static void OnMessage_GCID_ROLELIST(int iMsgID, ref CMessage msg)
    {
        SDGlobal.Log("rolelist received");

        CliProto.GC_ROLELIST refMSG = (CliProto.GC_ROLELIST)msg;

        SDNetGlobal.roleCount = refMSG.m_Count;
        if (!SDNetGlobal.bReConnectGate)
        {
            SDNetGlobal.lastSelectRole = SelectRole.SortRoleList(refMSG);
        }

        for (int i = 0; i < SDNetGlobal.roleCount; i++)
        {
            if (SDNetGlobal.playerList[i] == null)
            {
                SDNetGlobal.playerList[i] = new sdPlayerInfo();
            }

            sdPlayerInfo kPlayerInfo = SDNetGlobal.playerList[i];
            kPlayerInfo.mRoleName   = System.Text.Encoding.UTF8.GetString(refMSG.m_RoleInfoList[i].m_RoleInfo.m_RoleName);
            kPlayerInfo.mDBID       = refMSG.m_RoleInfoList[i].m_RoleInfo.m_DBRoleId;
            kPlayerInfo.mGender     = refMSG.m_RoleInfoList[i].m_RoleInfo.m_Gender;
            kPlayerInfo.mSkinColor  = refMSG.m_RoleInfoList[i].m_RoleInfo.m_SkinColor;
            kPlayerInfo.mHairStyle  = refMSG.m_RoleInfoList[i].m_RoleInfo.m_HairStyle;
            kPlayerInfo.mBaseJob    = refMSG.m_RoleInfoList[i].m_RoleInfo.m_BaseJob;
            kPlayerInfo.mJob        = refMSG.m_RoleInfoList[i].m_RoleInfo.m_Job;
            kPlayerInfo.mLevel      = refMSG.m_RoleInfoList[i].m_RoleInfo.m_Level;
            kPlayerInfo.mEquipCount = refMSG.m_RoleInfoList[i].m_Equip.m_ItemCount;

            if (kPlayerInfo.mEquipCount > 0)
            {
                kPlayerInfo.mEquipID = new uint[kPlayerInfo.mEquipCount];
                for (int j = 0; j < kPlayerInfo.mEquipCount; ++j)
                {
                    kPlayerInfo.mEquipID[j] = (uint)refMSG.m_RoleInfoList[i].m_Equip.m_Items[j].m_TID;
                }
            }
        }

        for (int i = SDNetGlobal.roleCount; i < 4; i++)
        {
            SDNetGlobal.playerList[i] = null;
        }

        SelectRole sr = sdGameLevel.instance.NGUIRoot.GetComponentInChildren <SelectRole>();

        if (sr != null)
        {
            sr.OnRoleList();
        }

        if (SDNetGlobal.bReConnectGate)
        {
            SDNetGlobal.OnMessage_GCID_ROLELIST(iMsgID, ref msg);
        }
    }
Exemplo n.º 2
0
    //
    protected void OnMessage_GCID_ROLELIST(int iMsgID, ref CMessage msg)
    {
        SDGlobal.Log("rolelist received");

        CliProto.GC_ROLELIST refMSG = (CliProto.GC_ROLELIST)msg;

        SDNetGlobal.roleCount      = refMSG.m_Count;
        SDNetGlobal.lastSelectRole = SelectRole.SortRoleList(refMSG);

        for (int i = 0; i < SDNetGlobal.roleCount; i++)
        {
            if (SDNetGlobal.playerList[i] == null)
            {
                SDNetGlobal.playerList[i] = new sdPlayerInfo();
            }

            sdPlayerInfo kPlayerInfo = SDNetGlobal.playerList[i];
            kPlayerInfo.mRoleName   = System.Text.Encoding.UTF8.GetString(refMSG.m_RoleInfoList[i].m_RoleInfo.m_RoleName).Trim('\0');
            kPlayerInfo.mDBID       = refMSG.m_RoleInfoList[i].m_RoleInfo.m_DBRoleId;
            kPlayerInfo.mGender     = refMSG.m_RoleInfoList[i].m_RoleInfo.m_Gender;
            kPlayerInfo.mSkinColor  = refMSG.m_RoleInfoList[i].m_RoleInfo.m_SkinColor;
            kPlayerInfo.mHairStyle  = refMSG.m_RoleInfoList[i].m_RoleInfo.m_HairStyle;
            kPlayerInfo.mBaseJob    = refMSG.m_RoleInfoList[i].m_RoleInfo.m_BaseJob;
            kPlayerInfo.mJob        = refMSG.m_RoleInfoList[i].m_RoleInfo.m_Job;
            kPlayerInfo.mLevel      = refMSG.m_RoleInfoList[i].m_RoleInfo.m_Level;
            kPlayerInfo.mEquipCount = refMSG.m_RoleInfoList[i].m_Equip.m_ItemCount;

            if (kPlayerInfo.mEquipCount > 0)
            {
                kPlayerInfo.mEquipID = new uint[kPlayerInfo.mEquipCount];
                for (int j = 0; j < kPlayerInfo.mEquipCount; ++j)
                {
                    kPlayerInfo.mEquipID[j] = (uint)refMSG.m_RoleInfoList[i].m_Equip.m_Items[j].m_TID;
                }
            }
        }

        for (int i = SDNetGlobal.roleCount; i < 4; i++)
        {
            SDNetGlobal.playerList[i] = null;
        }

        m_bRoleListRec = true;
    }