private void HeroSelectReconectBanStep(CSDT_RECONN_BANINFO banInfo) { Singleton <GameStateCtrl> .GetInstance().GotoState("LobbyState"); Singleton <CRoomSystem> .instance.SetRoomType(1); CSDT_CAMPINFO[] array = new CSDT_CAMPINFO[banInfo.astCampInfo.Length]; for (int i = 0; i < banInfo.astCampInfo.Length; i++) { array[i] = new CSDT_CAMPINFO(); array[i].dwPlayerNum = banInfo.astCampInfo[i].dwPlayerNum; array[i].astCampPlayerInfo = new CSDT_CAMPPLAYERINFO[banInfo.astCampInfo[i].astCampPlayerInfo.Length]; for (int j = 0; j < banInfo.astCampInfo[i].astCampPlayerInfo.Length; j++) { array[i].astCampPlayerInfo[j] = banInfo.astCampInfo[i].astCampPlayerInfo[j]; } } CHeroSelectBaseSystem.StartPvpHeroSelectSystem(banInfo.stDeskInfo, array, banInfo.stFreeHero, banInfo.stFreeHeroSymbol); Singleton <CHeroSelectBaseSystem> .instance.m_banPickStep = enBanPickStep.enBan; if (Singleton <CHeroSelectBaseSystem> .instance.uiType == enUIType.enBanPick) { MemberInfo masterMemberInfo = Singleton <CRoomSystem> .instance.roomInfo.GetMasterMemberInfo(); if (masterMemberInfo == null) { return; } Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_1, banInfo.stStateInfo.Camp1BanList); Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_2, banInfo.stStateInfo.Camp2BanList); Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stCurState = banInfo.stStateInfo.stCurState; Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stNextState = banInfo.stStateInfo.stNextState; Singleton <CHeroSelectBaseSystem> .instance.m_banHeroTeamMaxCount = (int)banInfo.stStateInfo.bBanPosNum; Singleton <CHeroSelectBanPickSystem> .instance.InitMenu(false); Singleton <CHeroSelectBanPickSystem> .instance.RefreshAll(); Singleton <CHeroSelectBanPickSystem> .instance.PlayStepTitleAnimation(); Singleton <CHeroSelectBanPickSystem> .instance.PlayCurrentBgAnimation(); if (Singleton <CHeroSelectBaseSystem> .instance.IsCurBanOrPickMember(masterMemberInfo)) { Utility.VibrateHelper(); Singleton <CSoundManager> .GetInstance().PostEvent("UI_MyTurn", null); Singleton <CSoundManager> .GetInstance().PostEvent("Play_sys_ban_3", null); } else if (Singleton <CHeroSelectBaseSystem> .instance.IsCurOpByCamp(masterMemberInfo)) { Singleton <CSoundManager> .GetInstance().PostEvent("Play_sys_ban_2", null); } else if (masterMemberInfo.camp != COM_PLAYERCAMP.COM_PLAYERCAMP_MID) { Singleton <CSoundManager> .GetInstance().PostEvent("Play_sys_ban_1", null); } Singleton <CSoundManager> .GetInstance().PostEvent("Play_Music_BanPick", null); } }
private void HeroSelectReconectBanStep(CSDT_RECONN_BANINFO banInfo) { DebugHelper.CustomLog("HeroSelectReconectBanStep"); Singleton <GameStateCtrl> .GetInstance().GotoState("LobbyState"); Singleton <CRoomSystem> .instance.SetRoomType(1); CSDT_CAMPINFO[] campInfo = new CSDT_CAMPINFO[banInfo.astCampInfo.Length]; for (int i = 0; i < banInfo.astCampInfo.Length; i++) { campInfo[i] = new CSDT_CAMPINFO(); campInfo[i].dwPlayerNum = banInfo.astCampInfo[i].dwPlayerNum; campInfo[i].astCampPlayerInfo = new CSDT_CAMPPLAYERINFO[banInfo.astCampInfo[i].astCampPlayerInfo.Length]; for (int j = 0; j < banInfo.astCampInfo[i].astCampPlayerInfo.Length; j++) { campInfo[i].astCampPlayerInfo[j] = banInfo.astCampInfo[i].astCampPlayerInfo[j]; } } CHeroSelectBaseSystem.StartPvpHeroSelectSystem(banInfo.stDeskInfo, campInfo, banInfo.stFreeHero, banInfo.stFreeHeroSymbol); Singleton <CHeroSelectBaseSystem> .instance.m_banPickStep = enBanPickStep.enBan; if (Singleton <CHeroSelectBaseSystem> .instance.uiType == enUIType.enBanPick) { MemberInfo masterMemberInfo = Singleton <CRoomSystem> .instance.roomInfo.GetMasterMemberInfo(); if (masterMemberInfo != null) { Singleton <CHeroSelectBaseSystem> .instance.ClearBanHero(); Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_1, banInfo.stStateInfo.Camp1BanList); Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_2, banInfo.stStateInfo.Camp2BanList); Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stCurState = banInfo.stStateInfo.stCurState; Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stNextState = banInfo.stStateInfo.stNextState; Singleton <CHeroSelectBaseSystem> .instance.m_banHeroTeamMaxCount = banInfo.stStateInfo.bBanPosNum; Singleton <CHeroSelectBanPickSystem> .instance.InitMenu(false); Singleton <CHeroSelectBanPickSystem> .instance.RefreshAll(); Singleton <CHeroSelectBanPickSystem> .instance.PlayStepTitleAnimation(); Singleton <CHeroSelectBanPickSystem> .instance.PlayCurrentBgAnimation(); MemberInfo memberInfo = Singleton <CHeroSelectBaseSystem> .instance.roomInfo.GetMemberInfo((COM_PLAYERCAMP)Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stCurState.bCamp, Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stCurState.bPos); if (memberInfo != null) { if (masterMemberInfo == memberInfo) { Utility.VibrateHelper(); Singleton <CSoundManager> .GetInstance().PostEvent("UI_MyTurn", null); } Singleton <CSoundManager> .GetInstance().PostEvent("Play_Music_BanPick", null); } } } }
private void HeroSelectReconectSwapStep(CSDT_RECONN_ADJUSTINFO swapInfo) { DebugHelper.CustomLog("HeroSelectReconectSwapStep"); Singleton <GameStateCtrl> .GetInstance().GotoState("LobbyState"); Singleton <CRoomSystem> .instance.SetRoomType(1); CSDT_CAMPINFO[] campInfo = new CSDT_CAMPINFO[swapInfo.astCampInfo.Length]; for (int i = 0; i < swapInfo.astCampInfo.Length; i++) { campInfo[i] = new CSDT_CAMPINFO(); campInfo[i].dwPlayerNum = swapInfo.astCampInfo[i].dwPlayerNum; campInfo[i].astCampPlayerInfo = new CSDT_CAMPPLAYERINFO[swapInfo.astCampInfo[i].astPlayerInfo.Length]; for (int k = 0; k < swapInfo.astCampInfo[i].astPlayerInfo.Length; k++) { campInfo[i].astCampPlayerInfo[k] = swapInfo.astCampInfo[i].astPlayerInfo[k].stPickHeroInfo; } } CHeroSelectBaseSystem.StartPvpHeroSelectSystem(swapInfo.stDeskInfo, campInfo, swapInfo.stFreeHero, swapInfo.stFreeHeroSymbol); Singleton <CHeroSelectBaseSystem> .instance.m_banPickStep = enBanPickStep.enSwap; for (int j = 0; j < swapInfo.astCampInfo.Length; j++) { for (int m = 0; m < swapInfo.astCampInfo[j].astPlayerInfo.Length; m++) { uint dwObjId = swapInfo.astCampInfo[j].astPlayerInfo[m].stPickHeroInfo.stPlayerInfo.dwObjId; byte bIsPickOK = swapInfo.astCampInfo[j].astPlayerInfo[m].bIsPickOK; MemberInfo memberInfo = Singleton <CHeroSelectBaseSystem> .instance.roomInfo.GetMemberInfo(dwObjId); if (memberInfo != null) { memberInfo.isPrepare = bIsPickOK == 1; } } } MemberInfo masterMemberInfo = Singleton <CRoomSystem> .instance.roomInfo.GetMasterMemberInfo(); if (masterMemberInfo != null) { Singleton <CHeroSelectBaseSystem> .instance.SetPvpHeroSelect(masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID); if (masterMemberInfo.isPrepare) { Singleton <CHeroSelectBaseSystem> .instance.m_isSelectConfirm = true; } } else { return; } if (Singleton <CHeroSelectBaseSystem> .instance.uiType == enUIType.enNormal) { Singleton <CHeroSelectNormalSystem> .GetInstance().m_showHeroID = masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; if (Singleton <CHeroSelectBaseSystem> .instance.selectType == enSelectType.enRandom) { Singleton <CHeroSelectNormalSystem> .instance.SwitchSkinMenuSelect(); } Singleton <CHeroSelectNormalSystem> .instance.RefreshHeroPanel(false, true); Singleton <CHeroSelectNormalSystem> .instance.StartEndTimer((int)(swapInfo.dwLeftMs / 0x3e8)); } else if (Singleton <CHeroSelectBaseSystem> .instance.uiType == enUIType.enBanPick) { Singleton <CHeroSelectBaseSystem> .instance.ClearBanHero(); Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_1, swapInfo.stHeroSwapInfo.stPickDetail.stHeroSwapInfo.Camp1BanList); Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_2, swapInfo.stHeroSwapInfo.stPickDetail.stHeroSwapInfo.Camp2BanList); Singleton <CHeroSelectBaseSystem> .instance.m_swapInfo.dwActiveObjID = swapInfo.stHeroSwapInfo.stPickDetail.stHeroSwapInfo.dwActiveObjID; Singleton <CHeroSelectBaseSystem> .instance.m_swapInfo.dwPassiveObjID = swapInfo.stHeroSwapInfo.stPickDetail.stHeroSwapInfo.dwPassiveObjID; Singleton <CHeroSelectBaseSystem> .instance.m_swapInfo.iErrCode = 0; Singleton <CHeroSelectBaseSystem> .instance.m_banHeroTeamMaxCount = swapInfo.stHeroSwapInfo.stPickDetail.stHeroSwapInfo.bBanPosNum; if (masterMemberInfo.dwObjId == Singleton <CHeroSelectBaseSystem> .instance.m_swapInfo.dwActiveObjID) { Singleton <CHeroSelectBaseSystem> .instance.m_swapState = enSwapHeroState.enReqing; } else if (masterMemberInfo.dwObjId == Singleton <CHeroSelectBaseSystem> .instance.m_swapInfo.dwPassiveObjID) { Singleton <CHeroSelectBaseSystem> .instance.m_swapState = enSwapHeroState.enSwapAllow; } Singleton <CHeroSelectBanPickSystem> .instance.InitMenu(false); Singleton <CHeroSelectBanPickSystem> .instance.RefreshAll(); Singleton <CHeroSelectBanPickSystem> .instance.StartEndTimer((int)(swapInfo.dwLeftMs / 0x3e8)); Singleton <CSoundManager> .GetInstance().PostEvent("Set_BanPickEnd", null); } }
private void HeroSelectReconectPickStep(CSDT_RECONN_PICKINFO pickInfo) { DebugHelper.CustomLog("HeroSelectReconectPickStep"); Singleton <GameStateCtrl> .GetInstance().GotoState("LobbyState"); Singleton <CRoomSystem> .instance.SetRoomType(1); CSDT_CAMPINFO[] campInfo = new CSDT_CAMPINFO[pickInfo.astCampInfo.Length]; for (int i = 0; i < pickInfo.astCampInfo.Length; i++) { campInfo[i] = new CSDT_CAMPINFO(); campInfo[i].dwPlayerNum = pickInfo.astCampInfo[i].dwPlayerNum; campInfo[i].astCampPlayerInfo = new CSDT_CAMPPLAYERINFO[pickInfo.astCampInfo[i].astPlayerInfo.Length]; for (int k = 0; k < pickInfo.astCampInfo[i].astPlayerInfo.Length; k++) { campInfo[i].astCampPlayerInfo[k] = pickInfo.astCampInfo[i].astPlayerInfo[k].stPickHeroInfo; } } CHeroSelectBaseSystem.StartPvpHeroSelectSystem(pickInfo.stDeskInfo, campInfo, pickInfo.stFreeHero, pickInfo.stFreeHeroSymbol); Singleton <CHeroSelectBaseSystem> .instance.m_banPickStep = enBanPickStep.enPick; for (int j = 0; j < pickInfo.astCampInfo.Length; j++) { for (int m = 0; m < pickInfo.astCampInfo[j].astPlayerInfo.Length; m++) { uint dwObjId = pickInfo.astCampInfo[j].astPlayerInfo[m].stPickHeroInfo.stPlayerInfo.dwObjId; byte bIsPickOK = pickInfo.astCampInfo[j].astPlayerInfo[m].bIsPickOK; MemberInfo memberInfo = Singleton <CHeroSelectBaseSystem> .instance.roomInfo.GetMemberInfo(dwObjId); if (memberInfo != null) { memberInfo.isPrepare = bIsPickOK == 1; } } } MemberInfo masterMemberInfo = Singleton <CRoomSystem> .instance.roomInfo.GetMasterMemberInfo(); if (masterMemberInfo != null) { Singleton <CHeroSelectBaseSystem> .instance.SetPvpHeroSelect(masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID); if (masterMemberInfo.isPrepare) { Singleton <CHeroSelectBaseSystem> .instance.m_isSelectConfirm = true; } } else { return; } if (Singleton <CHeroSelectBaseSystem> .instance.uiType == enUIType.enNormal) { Singleton <CHeroSelectNormalSystem> .GetInstance().m_showHeroID = masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; if (Singleton <CHeroSelectBaseSystem> .instance.selectType == enSelectType.enRandom) { Singleton <CHeroSelectNormalSystem> .instance.SwitchSkinMenuSelect(); } Singleton <CHeroSelectNormalSystem> .GetInstance().RefreshHeroPanel(false, true); } else if (Singleton <CHeroSelectBaseSystem> .instance.uiType == enUIType.enBanPick) { CSDT_RECONN_BAN_PICK_STATE_INFO stBanPickInfo = pickInfo.stPickStateExtra.stPickDetail.stBanPickInfo; Singleton <CHeroSelectBaseSystem> .instance.ClearBanHero(); if (stBanPickInfo != null) { Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_1, stBanPickInfo.Camp1BanList); Singleton <CHeroSelectBaseSystem> .instance.AddBanHero(COM_PLAYERCAMP.COM_PLAYERCAMP_2, stBanPickInfo.Camp2BanList); Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stCurState = stBanPickInfo.stCurState; Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stNextState = stBanPickInfo.stNextState; Singleton <CHeroSelectBaseSystem> .instance.m_banHeroTeamMaxCount = stBanPickInfo.bBanPosNum; Singleton <CHeroSelectBanPickSystem> .instance.InitMenu(false); Singleton <CHeroSelectBanPickSystem> .instance.RefreshAll(); Singleton <CHeroSelectBanPickSystem> .instance.PlayStepTitleAnimation(); Singleton <CHeroSelectBanPickSystem> .instance.PlayCurrentBgAnimation(); MemberInfo info3 = Singleton <CHeroSelectBaseSystem> .instance.roomInfo.GetMemberInfo((COM_PLAYERCAMP)Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stCurState.bCamp, Singleton <CHeroSelectBaseSystem> .instance.m_curBanPickInfo.stCurState.bPos); if (info3 != null) { if (masterMemberInfo == info3) { Utility.VibrateHelper(); Singleton <CSoundManager> .GetInstance().PostEvent("UI_MyTurn", null); Singleton <CSoundManager> .GetInstance().PostEvent("Set_Segment2", null); } else { Singleton <CSoundManager> .GetInstance().PostEvent("Set_Segment1", null); } } } } }
private void HeroSelectReconectPickStep(CSDT_RECONN_PICKINFO pickInfo) { Singleton <GameStateCtrl> .GetInstance().GotoState("LobbyState"); Singleton <CRoomSystem> .get_instance().SetRoomType(1); CSDT_CAMPINFO[] array = new CSDT_CAMPINFO[pickInfo.astCampInfo.Length]; for (int i = 0; i < pickInfo.astCampInfo.Length; i++) { array[i] = new CSDT_CAMPINFO(); array[i].dwPlayerNum = pickInfo.astCampInfo[i].dwPlayerNum; array[i].astCampPlayerInfo = new CSDT_CAMPPLAYERINFO[pickInfo.astCampInfo[i].astPlayerInfo.Length]; for (int j = 0; j < pickInfo.astCampInfo[i].astPlayerInfo.Length; j++) { array[i].astCampPlayerInfo[j] = pickInfo.astCampInfo[i].astPlayerInfo[j].stPickHeroInfo; } } CHeroSelectBaseSystem.StartPvpHeroSelectSystem(pickInfo.stDeskInfo, array, pickInfo.stFreeHero, pickInfo.stFreeHeroSymbol); Singleton <CHeroSelectBaseSystem> .get_instance().m_banPickStep = enBanPickStep.enPick; for (int k = 0; k < pickInfo.astCampInfo.Length; k++) { for (int l = 0; l < pickInfo.astCampInfo[k].astPlayerInfo.Length; l++) { uint dwObjId = pickInfo.astCampInfo[k].astPlayerInfo[l].stPickHeroInfo.stPlayerInfo.dwObjId; byte bIsPickOK = pickInfo.astCampInfo[k].astPlayerInfo[l].bIsPickOK; MemberInfo memberInfo = Singleton <CHeroSelectBaseSystem> .get_instance().roomInfo.GetMemberInfo(dwObjId); if (memberInfo != null) { memberInfo.isPrepare = (bIsPickOK == 1); } } } MemberInfo masterMemberInfo = Singleton <CRoomSystem> .get_instance().roomInfo.GetMasterMemberInfo(); if (masterMemberInfo != null) { Singleton <CHeroSelectBaseSystem> .get_instance().SetPvpHeroSelect(masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID); if (masterMemberInfo.isPrepare) { Singleton <CHeroSelectBaseSystem> .get_instance().m_isSelectConfirm = true; } if (Singleton <CHeroSelectBaseSystem> .get_instance().uiType == enUIType.enNormal) { Singleton <CHeroSelectNormalSystem> .GetInstance().m_showHeroID = masterMemberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID; if (Singleton <CHeroSelectBaseSystem> .get_instance().selectType == enSelectType.enRandom) { Singleton <CHeroSelectNormalSystem> .get_instance().SwitchSkinMenuSelect(); } Singleton <CHeroSelectNormalSystem> .GetInstance().RefreshHeroPanel(true, true); } else if (Singleton <CHeroSelectBaseSystem> .get_instance().uiType == enUIType.enBanPick) { CSDT_RECONN_BAN_PICK_STATE_INFO stBanPickInfo = pickInfo.stPickStateExtra.stPickDetail.get_stBanPickInfo(); if (stBanPickInfo == null) { return; } Singleton <CHeroSelectBaseSystem> .get_instance().AddBanHero(1, stBanPickInfo.Camp1BanList); Singleton <CHeroSelectBaseSystem> .get_instance().AddBanHero(2, stBanPickInfo.Camp2BanList); Singleton <CHeroSelectBaseSystem> .get_instance().m_curBanPickInfo.stCurState = stBanPickInfo.stCurState; Singleton <CHeroSelectBaseSystem> .get_instance().m_curBanPickInfo.stNextState = stBanPickInfo.stNextState; Singleton <CHeroSelectBaseSystem> .get_instance().m_banHeroTeamMaxCount = (int)stBanPickInfo.bBanPosNum; Singleton <CHeroSelectBanPickSystem> .get_instance().InitMenu(false); Singleton <CHeroSelectBanPickSystem> .get_instance().RefreshAll(); Singleton <CHeroSelectBanPickSystem> .get_instance().PlayStepTitleAnimation(); Singleton <CHeroSelectBanPickSystem> .get_instance().PlayCurrentBgAnimation(); if (Singleton <CHeroSelectBaseSystem> .get_instance().IsCurBanOrPickMember(masterMemberInfo)) { Utility.VibrateHelper(); Singleton <CSoundManager> .GetInstance().PostEvent("UI_MyTurn", null); Singleton <CSoundManager> .GetInstance().PostEvent("Play_sys_ban_4", null); Singleton <CSoundManager> .GetInstance().PostEvent("Set_Segment2", null); } else { if (Singleton <CHeroSelectBaseSystem> .get_instance().IsCurOpByCamp(masterMemberInfo)) { Singleton <CSoundManager> .GetInstance().PostEvent("Play_sys_ban_7", null); } else if (masterMemberInfo.camp != null) { Singleton <CSoundManager> .GetInstance().PostEvent("Play_sys_ban_6", null); } Singleton <CSoundManager> .GetInstance().PostEvent("Set_Segment1", null); } } return; } }