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