Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
                    }
                }
            }
        }