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); } }
// 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; }