private void Calc9SlotHeroStandingPosition(CSDT_BATTLE_PLAYER_BRIEF stBattlePlayer) { Calc9SlotHeroData[] heroes = new Calc9SlotHeroData[3]; IGameActorDataProvider actorDataProvider = Singleton <ActorDataCenter> .instance.GetActorDataProvider(GameActorDataProviderType.StaticLobbyDataProvider); ActorStaticData actorData = new ActorStaticData(); ActorMeta actorMeta = new ActorMeta(); if (Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo() != null) { for (int i = 0; (i < stBattlePlayer.astFighter[0].astChoiceHero.Length) && (i < 3); i++) { uint dwHeroID = stBattlePlayer.astFighter[0].astChoiceHero[i].stBaseInfo.stCommonInfo.dwHeroID; if (dwHeroID != 0) { actorMeta.ConfigId = (int)dwHeroID; actorDataProvider.GetActorStaticData(ref actorMeta, ref actorData); heroes[i].Level = 1; heroes[i].Quality = 1; heroes[i].RecommendPos = actorData.TheHeroOnlyInfo.RecommendStandPos; heroes[i].Ability = (uint)CHeroDataFactory.CreateHeroData(dwHeroID).combatEft; heroes[i].ConfigId = dwHeroID; heroes[i].selected = false; heroes[i].BornIndex = -1; } } this.ImpCalc9SlotHeroStandingPosition(ref heroes); for (int j = 0; (j < stBattlePlayer.astFighter[0].astChoiceHero.Length) && (j < 3); j++) { stBattlePlayer.astFighter[0].astChoiceHero[j].stHeroExtral.iHeroPos = heroes[j].BornIndex; } for (int k = 0; (k < stBattlePlayer.astFighter[1].astChoiceHero.Length) && (k < 3); k++) { uint id = stBattlePlayer.astFighter[1].astChoiceHero[k].stBaseInfo.stCommonInfo.dwHeroID; if (id != 0) { actorMeta.ConfigId = (int)id; actorDataProvider.GetActorStaticData(ref actorMeta, ref actorData); heroes[k].Level = stBattlePlayer.astFighter[1].astChoiceHero[k].stBaseInfo.stCommonInfo.wLevel; heroes[k].Quality = stBattlePlayer.astFighter[1].astChoiceHero[k].stBaseInfo.stCommonInfo.stQuality.wQuality; heroes[k].RecommendPos = actorData.TheHeroOnlyInfo.RecommendStandPos; heroes[k].Ability = (uint)CHeroDataFactory.CreateHeroData(id).combatEft; heroes[k].ConfigId = id; heroes[k].selected = false; heroes[k].BornIndex = -1; } } this.ImpCalc9SlotHeroStandingPosition(ref heroes); for (int m = 0; (m < stBattlePlayer.astFighter[1].astChoiceHero.Length) && (m < 3); m++) { stBattlePlayer.astFighter[1].astChoiceHero[m].stHeroExtral.iHeroPos = heroes[m].BornIndex; } } }
private void Calc9SlotHeroStandingPosition(CSDT_BATTLE_PLAYER_BRIEF stBattlePlayer) { PlayerBuilder.Calc9SlotHeroData[] array = new PlayerBuilder.Calc9SlotHeroData[3]; IGameActorDataProvider actorDataProvider = Singleton <ActorDataCenter> .get_instance().GetActorDataProvider(GameActorDataProviderType.StaticLobbyDataProvider); ActorStaticData actorStaticData = default(ActorStaticData); ActorMeta actorMeta = default(ActorMeta); if (Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo() == null) { return; } int num = 0; while (num < stBattlePlayer.astFighter[0].astChoiceHero.Length && num < 3) { uint dwHeroID = stBattlePlayer.astFighter[0].astChoiceHero[num].stBaseInfo.stCommonInfo.dwHeroID; if (dwHeroID != 0u) { actorMeta.ConfigId = (int)dwHeroID; actorDataProvider.GetActorStaticData(ref actorMeta, ref actorStaticData); array[num].Level = 1u; array[num].Quality = 1; array[num].RecommendPos = actorStaticData.TheHeroOnlyInfo.RecommendStandPos; array[num].Ability = (uint)CHeroDataFactory.CreateHeroData(dwHeroID).combatEft; array[num].ConfigId = dwHeroID; array[num].selected = false; array[num].BornIndex = -1; } num++; } this.ImpCalc9SlotHeroStandingPosition(ref array); int num2 = 0; while (num2 < stBattlePlayer.astFighter[0].astChoiceHero.Length && num2 < 3) { stBattlePlayer.astFighter[0].astChoiceHero[num2].stHeroExtral.iHeroPos = array[num2].BornIndex; num2++; } int num3 = 0; while (num3 < stBattlePlayer.astFighter[1].astChoiceHero.Length && num3 < 3) { uint dwHeroID2 = stBattlePlayer.astFighter[1].astChoiceHero[num3].stBaseInfo.stCommonInfo.dwHeroID; if (dwHeroID2 != 0u) { actorMeta.ConfigId = (int)dwHeroID2; actorDataProvider.GetActorStaticData(ref actorMeta, ref actorStaticData); array[num3].Level = (uint)stBattlePlayer.astFighter[1].astChoiceHero[num3].stBaseInfo.stCommonInfo.wLevel; array[num3].Quality = (int)stBattlePlayer.astFighter[1].astChoiceHero[num3].stBaseInfo.stCommonInfo.stQuality.wQuality; array[num3].RecommendPos = actorStaticData.TheHeroOnlyInfo.RecommendStandPos; array[num3].Ability = (uint)CHeroDataFactory.CreateHeroData(dwHeroID2).combatEft; array[num3].ConfigId = dwHeroID2; array[num3].selected = false; array[num3].BornIndex = -1; } num3++; } this.ImpCalc9SlotHeroStandingPosition(ref array); int num4 = 0; while (num4 < stBattlePlayer.astFighter[1].astChoiceHero.Length && num4 < 3) { stBattlePlayer.astFighter[1].astChoiceHero[num4].stHeroExtral.iHeroPos = array[num4].BornIndex; num4++; } }
private static void ReqStartSingleWarmBattle() { bInFakeSelect = false; Singleton <CTimerManager> .GetInstance().RemoveTimer(new CTimer.OnTimeUpHandler(CFakePvPHelper.OnSelectHeroTimeout)); RemoveAllFakeTimer(); CSPkg msg = NetworkModule.CreateDefaultCSPKG(0x41a); RoomInfo roomInfo = Singleton <CRoomSystem> .GetInstance().roomInfo; if (roomInfo == null) { DebugHelper.Assert(roomInfo != null, "RoomInfo Should not be NULL!!!"); } else if (roomInfo != null) { msg.stPkgData.stStartSingleGameReq.stBattleParam.bGameType = 1; msg.stPkgData.stStartSingleGameReq.stBattleParam.stGameDetail.stGameOfCombat = Singleton <CHeroSelectBaseSystem> .instance.m_stGameOfCombat; msg.stPkgData.stStartSingleGameReq.stBattleList.stBattleList.wHeroCnt = 1; if (msg.stPkgData.stStartSingleGameReq.stBattleParam.stGameDetail.stGameOfCombat != null) { MemberInfo masterMemberInfo = roomInfo.GetMasterMemberInfo(); if (masterMemberInfo != null) { msg.stPkgData.stStartSingleGameReq.stBattleList.stBattleList.BattleHeroList[0] = masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; ResDT_LevelCommonInfo pvpMapCommonInfo = CLevelCfgLogicManager.GetPvpMapCommonInfo(roomInfo.roomAttrib.bMapType, roomInfo.roomAttrib.dwMapId); if (pvpMapCommonInfo != null) { COM_PLAYERCAMP camp = COM_PLAYERCAMP.COM_PLAYERCAMP_1; int dwHeroID = 0; for (COM_PLAYERCAMP com_playercamp2 = COM_PLAYERCAMP.COM_PLAYERCAMP_1; com_playercamp2 < COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT; com_playercamp2 += 1) { ListView <MemberInfo> view = roomInfo[com_playercamp2]; for (int i = 0; i < view.Count; i++) { if (view[i].ullUid == roomInfo.selfInfo.ullUid) { camp = view[i].camp; dwHeroID = (int)view[i].ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; break; } } } CSDT_BATTLE_PLAYER_BRIEF stBattlePlayer = msg.stPkgData.stStartSingleGameReq.stBattlePlayer; int index = 0; for (COM_PLAYERCAMP com_playercamp3 = COM_PLAYERCAMP.COM_PLAYERCAMP_1; com_playercamp3 < COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT; com_playercamp3 += 1) { ListView <MemberInfo> view2 = roomInfo[com_playercamp3]; for (int j = 0; j < view2.Count; j++) { MemberInfo info4 = view2[j]; if (info4 != null) { if (info4.RoomMemberType == 2) { stBattlePlayer.astFighter[index].bObjType = 2; stBattlePlayer.astFighter[index].bPosOfCamp = (byte)j; stBattlePlayer.astFighter[index].bObjCamp = (byte)com_playercamp3; stBattlePlayer.astFighter[index].dwLevel = info4.dwMemberPvpLevel; FakeHeroSelect fakeHeroSelect = GetFakeHeroSelect(info4.ullUid); if (fakeHeroSelect != null) { stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID = fakeHeroSelect.selectedHero; stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo.stCommonInfo.stSkill.dwSelSkillID = fakeHeroSelect.selectedPlayerSkill; stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo.stCommonInfo.wSkinID = (ushort)fakeHeroSelect.selectedSkin; stBattlePlayer.astFighter[index].szName = fakeHeroSelect.FakePlayer.szUserName; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc = new COMDT_PLAYERINFO_OF_NPC(); stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.ullFakeUid = fakeHeroSelect.FakePlayer.ullUid; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakePvpLevel = fakeHeroSelect.FakePlayer.dwAcntPvpLevel; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakeLogicWorldID = fakeHeroSelect.FakePlayer.dwLogicWorldId; } else { SelectHeroForEnemyPlayer(ref stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo, stBattlePlayer.astFighter[index].dwLevel); stBattlePlayer.astFighter[index].szName = info4.WarmNpc.szUserName; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc = new COMDT_PLAYERINFO_OF_NPC(); stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.ullFakeUid = info4.WarmNpc.ullUid; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakePvpLevel = info4.WarmNpc.dwAcntPvpLevel; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakeLogicWorldID = info4.WarmNpc.dwLogicWorldId; } } else if (info4.RoomMemberType == 1) { stBattlePlayer.astFighter[index].bObjType = 1; stBattlePlayer.astFighter[index].bPosOfCamp = (byte)j; stBattlePlayer.astFighter[index].bObjCamp = (byte)camp; for (int k = 0; k < pvpMapCommonInfo.bHeroNum; k++) { stBattlePlayer.astFighter[index].astChoiceHero[k].stBaseInfo.stCommonInfo.dwHeroID = (uint)dwHeroID; } } index++; } } } stBattlePlayer.bNum = (byte)index; roomInfo.roomAttrib.bWarmBattle = false; roomInfo.roomAttrib.npcAILevel = 2; Singleton <NetworkModule> .GetInstance().SendLobbyMsg(ref msg, true); } } else { DebugHelper.Assert(roomInfo != null, "selfInfo Should not be NULL!!!"); } } } }
private static void ReqStartSingleWarmBattle() { CFakePvPHelper.bInFakeSelect = false; Singleton <CTimerManager> .GetInstance().RemoveTimer(new CTimer.OnTimeUpHandler(CFakePvPHelper.OnSelectHeroTimeout)); CFakePvPHelper.RemoveAllFakeTimer(); CSPkg cSPkg = NetworkModule.CreateDefaultCSPKG(1050u); RoomInfo roomInfo = Singleton <CRoomSystem> .GetInstance().roomInfo; if (roomInfo == null) { DebugHelper.Assert(roomInfo != null, "RoomInfo Should not be NULL!!!"); return; } if (roomInfo != null) { cSPkg.stPkgData.get_stStartSingleGameReq().stBattleParam.bGameType = 1; cSPkg.stPkgData.get_stStartSingleGameReq().stBattleParam.stGameDetail.set_stGameOfCombat(Singleton <CHeroSelectBaseSystem> .get_instance().m_stGameOfCombat); cSPkg.stPkgData.get_stStartSingleGameReq().stBattleList.stBattleList.wHeroCnt = 1; if (cSPkg.stPkgData.get_stStartSingleGameReq().stBattleParam.stGameDetail.get_stGameOfCombat() == null) { return; } MemberInfo masterMemberInfo = roomInfo.GetMasterMemberInfo(); if (masterMemberInfo == null) { DebugHelper.Assert(roomInfo != null, "selfInfo Should not be NULL!!!"); return; } cSPkg.stPkgData.get_stStartSingleGameReq().stBattleList.stBattleList.BattleHeroList[0] = masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; ResDT_LevelCommonInfo pvpMapCommonInfo = CLevelCfgLogicManager.GetPvpMapCommonInfo(roomInfo.roomAttrib.bMapType, roomInfo.roomAttrib.dwMapId); if (pvpMapCommonInfo != null) { COM_PLAYERCAMP cOM_PLAYERCAMP = 1; int dwHeroID = 0; for (COM_PLAYERCAMP cOM_PLAYERCAMP2 = 1; cOM_PLAYERCAMP2 < 3; cOM_PLAYERCAMP2++) { ListView <MemberInfo> listView = roomInfo[cOM_PLAYERCAMP2]; for (int i = 0; i < listView.get_Count(); i++) { if (listView.get_Item(i).ullUid == roomInfo.selfInfo.ullUid) { cOM_PLAYERCAMP = listView.get_Item(i).camp; dwHeroID = (int)listView.get_Item(i).ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; break; } } } CSDT_BATTLE_PLAYER_BRIEF stBattlePlayer = cSPkg.stPkgData.get_stStartSingleGameReq().stBattlePlayer; int num = 0; for (COM_PLAYERCAMP cOM_PLAYERCAMP3 = 1; cOM_PLAYERCAMP3 < 3; cOM_PLAYERCAMP3++) { ListView <MemberInfo> listView2 = roomInfo[cOM_PLAYERCAMP3]; for (int j = 0; j < listView2.get_Count(); j++) { MemberInfo memberInfo = listView2.get_Item(j); if (memberInfo != null) { if (memberInfo.RoomMemberType == 2u) { stBattlePlayer.astFighter[num].bObjType = 2; stBattlePlayer.astFighter[num].bPosOfCamp = (byte)j; stBattlePlayer.astFighter[num].bObjCamp = cOM_PLAYERCAMP3; stBattlePlayer.astFighter[num].dwLevel = memberInfo.dwMemberPvpLevel; CFakePvPHelper.FakeHeroSelect fakeHeroSelect = CFakePvPHelper.GetFakeHeroSelect(memberInfo.ullUid); if (fakeHeroSelect != null) { stBattlePlayer.astFighter[num].astChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID = fakeHeroSelect.selectedHero; stBattlePlayer.astFighter[num].astChoiceHero[0].stBaseInfo.stCommonInfo.stSkill.dwSelSkillID = fakeHeroSelect.selectedPlayerSkill; stBattlePlayer.astFighter[num].astChoiceHero[0].stBaseInfo.stCommonInfo.wSkinID = (ushort)fakeHeroSelect.selectedSkin; stBattlePlayer.astFighter[num].szName = fakeHeroSelect.FakePlayer.szUserName; stBattlePlayer.astFighter[num].stDetail.set_stPlayerOfNpc(new COMDT_PLAYERINFO_OF_NPC()); stBattlePlayer.astFighter[num].stDetail.get_stPlayerOfNpc().ullFakeUid = fakeHeroSelect.FakePlayer.ullUid; stBattlePlayer.astFighter[num].stDetail.get_stPlayerOfNpc().dwFakePvpLevel = fakeHeroSelect.FakePlayer.dwAcntPvpLevel; stBattlePlayer.astFighter[num].stDetail.get_stPlayerOfNpc().dwFakeLogicWorldID = fakeHeroSelect.FakePlayer.dwLogicWorldId; } else { CFakePvPHelper.SelectHeroForEnemyPlayer(ref stBattlePlayer.astFighter[num].astChoiceHero[0].stBaseInfo, stBattlePlayer.astFighter[num].dwLevel); stBattlePlayer.astFighter[num].szName = memberInfo.WarmNpc.szUserName; stBattlePlayer.astFighter[num].stDetail.set_stPlayerOfNpc(new COMDT_PLAYERINFO_OF_NPC()); stBattlePlayer.astFighter[num].stDetail.get_stPlayerOfNpc().ullFakeUid = memberInfo.WarmNpc.ullUid; stBattlePlayer.astFighter[num].stDetail.get_stPlayerOfNpc().dwFakePvpLevel = memberInfo.WarmNpc.dwAcntPvpLevel; stBattlePlayer.astFighter[num].stDetail.get_stPlayerOfNpc().dwFakeLogicWorldID = memberInfo.WarmNpc.dwLogicWorldId; } } else if (memberInfo.RoomMemberType == 1u) { stBattlePlayer.astFighter[num].bObjType = 1; stBattlePlayer.astFighter[num].bPosOfCamp = (byte)j; stBattlePlayer.astFighter[num].bObjCamp = cOM_PLAYERCAMP; for (int k = 0; k < (int)pvpMapCommonInfo.bHeroNum; k++) { stBattlePlayer.astFighter[num].astChoiceHero[k].stBaseInfo.stCommonInfo.dwHeroID = (uint)dwHeroID; } } num++; } } } stBattlePlayer.bNum = (byte)num; roomInfo.roomAttrib.bWarmBattle = false; roomInfo.roomAttrib.npcAILevel = 2; Singleton <NetworkModule> .GetInstance().SendLobbyMsg(ref cSPkg, true); Singleton <WatchController> .GetInstance().Stop(); } } }
private static void ReqStartSingleWarmBattle() { bInFakeSelect = false; Singleton <CTimerManager> .GetInstance().RemoveTimer(new CTimer.OnTimeUpHandler(CFakePvPHelper.OnSelectHeroTimeout)); CSPkg msg = NetworkModule.CreateDefaultCSPKG(0x41a); Assets.Scripts.GameSystem.RoomInfo roomInfo = Singleton <CRoomSystem> .GetInstance().roomInfo; DebugHelper.Assert(roomInfo != null, "RoomInfo Should not be NULL!!!"); if (roomInfo != null) { msg.stPkgData.stStartSingleGameReq.stBattleParam.bGameType = 1; msg.stPkgData.stStartSingleGameReq.stBattleParam.stGameDetail.stGameOfCombat = Singleton <CHeroSelectSystem> .GetInstance().m_stGameOfCombat; msg.stPkgData.stStartSingleGameReq.stBattleList.stBattleList.wHeroCnt = 1; MemberInfo masterMemberInfo = roomInfo.GetMasterMemberInfo(); DebugHelper.Assert(masterMemberInfo != null, "self Info Should not be NULL!!!"); if (masterMemberInfo != null) { msg.stPkgData.stStartSingleGameReq.stBattleList.stBattleList.BattleHeroList[0] = masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; } ResAcntBattleLevelInfo dataByKey = GameDataMgr.pvpLevelDatabin.GetDataByKey(roomInfo.roomAttrib.dwMapId); DebugHelper.Assert(dataByKey != null); if (dataByKey != null) { ResDT_LevelCommonInfo stLevelCommonInfo = dataByKey.stLevelCommonInfo; COM_PLAYERCAMP camp = COM_PLAYERCAMP.COM_PLAYERCAMP_1; int dwHeroID = 0; for (int i = 0; i < roomInfo.CampMemberList.Length; i++) { ListView <MemberInfo> view = roomInfo.CampMemberList[i]; for (int k = 0; k < view.Count; k++) { if (view[k].ullUid == roomInfo.selfInfo.ullUid) { camp = view[k].camp; dwHeroID = (int)view[k].ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; break; } } } CSDT_BATTLE_PLAYER_BRIEF stBattlePlayer = msg.stPkgData.stStartSingleGameReq.stBattlePlayer; int index = 0; for (int j = 0; j < 2; j++) { for (int m = 0; m < roomInfo.CampMemberList[j].Count; m++) { MemberInfo info5 = roomInfo.CampMemberList[j][m]; if (info5 != null) { if (info5.RoomMemberType == 2) { stBattlePlayer.astFighter[index].bObjType = 2; stBattlePlayer.astFighter[index].bPosOfCamp = (byte)m; stBattlePlayer.astFighter[index].bObjCamp = (byte)(j + 1); stBattlePlayer.astFighter[index].dwLevel = info5.dwMemberPvpLevel; FakeHeroSelect fakeHeroSelect = GetFakeHeroSelect(info5.ullUid); if (fakeHeroSelect != null) { stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID = fakeHeroSelect.selectedHero; stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo.stCommonInfo.stSkill.dwSelSkillID = fakeHeroSelect.selectedPlayerSkill; stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo.stCommonInfo.wSkinID = (ushort)fakeHeroSelect.selectedSkin; stBattlePlayer.astFighter[index].szName = fakeHeroSelect.FakePlayer.szUserName; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc = new COMDT_PLAYERINFO_OF_NPC(); stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.ullFakeUid = fakeHeroSelect.FakePlayer.ullUid; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakePvpLevel = fakeHeroSelect.FakePlayer.dwAcntPvpLevel; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakeLogicWorldID = fakeHeroSelect.FakePlayer.dwLogicWorldId; } else { SelectHeroForEnemyPlayer(ref stBattlePlayer.astFighter[index].astChoiceHero[0].stBaseInfo, stBattlePlayer.astFighter[index].dwLevel); stBattlePlayer.astFighter[index].szName = info5.WarmNpc.szUserName; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc = new COMDT_PLAYERINFO_OF_NPC(); stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.ullFakeUid = info5.WarmNpc.ullUid; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakePvpLevel = info5.WarmNpc.dwAcntPvpLevel; stBattlePlayer.astFighter[index].stDetail.stPlayerOfNpc.dwFakeLogicWorldID = info5.WarmNpc.dwLogicWorldId; } } else if (info5.RoomMemberType == 1) { stBattlePlayer.astFighter[index].bObjType = 1; stBattlePlayer.astFighter[index].bPosOfCamp = (byte)m; stBattlePlayer.astFighter[index].bObjCamp = (byte)camp; for (int n = 0; n < stLevelCommonInfo.bHeroNum; n++) { stBattlePlayer.astFighter[index].astChoiceHero[n].stBaseInfo.stCommonInfo.dwHeroID = (uint)dwHeroID; } } index++; } } } stBattlePlayer.bNum = (byte)index; roomInfo.roomAttrib.bWarmBattle = false; roomInfo.roomAttrib.npcAILevel = 2; Singleton <NetworkModule> .GetInstance().SendLobbyMsg(ref msg, true); } } }