Exemplo n.º 1
0
 private void Awake()
 {
     s_instance = this;
     this.InitMissionRecords();
     foreach (Transform transform in base.gameObject.GetComponents <Transform>())
     {
         transform.gameObject.SetActive(false);
     }
     base.gameObject.SetActive(true);
     if (this.m_backButton != null)
     {
         this.m_backButton.SetText(GameStrings.Get("GLOBAL_BACK"));
         this.m_backButton.AddEventListener(UIEventType.RELEASE, new UIEvent.Handler(this.BackButtonReleased));
     }
     this.m_trayLabel.Text = GameStrings.Get("GLUE_CHOOSE_OPPONENT");
     this.m_playButton.AddEventListener(UIEventType.RELEASE, new UIEvent.Handler(this.PlayGameButtonRelease));
     this.m_heroDefsToLoad = this.m_sortedMissionRecords.Count;
     foreach (DbfRecord record in this.m_sortedMissionRecords)
     {
         string missionHeroCardId = GameUtils.GetMissionHeroCardId(record.GetId());
         DefLoader.Get().LoadFullDef(missionHeroCardId, new DefLoader.LoadDefCallback <FullDef>(this.OnFullDefLoaded));
     }
     SoundManager.Get().Load("choose_opponent_panel_slide_on");
     SoundManager.Get().Load("choose_opponent_panel_slide_off");
     this.SetupHeroAchieves();
     base.StartCoroutine(this.NotifyWhenTrayLoaded());
     GameMgr.Get().RegisterFindGameEvent(new GameMgr.FindGameCallback(this.OnFindGameEvent));
 }
Exemplo n.º 2
0
        /// <summary>
        /// Get the SubsceneState in AdventureScene
        /// </summary>
        /// <returns>The RockPegasusSubsceneState.</returns>
        private RockPegasusSubsceneState GetPegasusAdventureSubsceneState()
        {
            if (AdventureConfig.Get() == null)
            {
                return(RockPegasusSubsceneState.None);
            }

            AdventureSubScenes currentSubScene = AdventureConfig.Get().GetCurrentSubScene();

            if (currentSubScene == AdventureSubScenes.Chooser)
            {
                return(RockPegasusSubsceneState.WaitForChooseMode);
            }

            if (currentSubScene == AdventureSubScenes.Practice)
            {
                if (PracticePickerTrayDisplay.Get().IsShown() == false)
                {
                    return(RockPegasusSubsceneState.WaitForChooseDeck);
                }

                if (GetPrivateField <PracticeAIButton>(PracticePickerTrayDisplay.Get(), "m_selectedPracticeAIButton") == null)
                {
                    return(RockPegasusSubsceneState.WaitForChooseOpponent);
                }
                else
                {
                    return(RockPegasusSubsceneState.Ready);
                }
            }

            return(RockPegasusSubsceneState.None);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Config deck for a game.
        /// </summary>
        /// <param name="index">The index of deck.</param>
        public void ConfigDeck(int index)
        {
            AdventureSubScenes currentSubScene = AdventureConfig.Get().GetCurrentSubScene();

            if (currentSubScene == AdventureSubScenes.Practice)
            {
                PracticePickerTrayDisplay.Get().Show();
            }
        }
Exemplo n.º 4
0
 private void Awake()
 {
     s_instance = this;
     this.m_practicePickerTray = ((GameObject)GameUtils.Instantiate((GameObject)this.m_practicePickerTrayPrefab, this.m_practicePickerTrayContainer, false)).GetComponent <PracticePickerTrayDisplay>();
     if (UniversalInputManager.UsePhoneUI != null)
     {
         SceneUtils.SetLayer(this.m_practicePickerTray, GameLayer.IgnoreFullScreenEffects);
     }
     AssetLoader.Get().LoadActor((UniversalInputManager.UsePhoneUI == null) ? "DeckPickerTray" : "DeckPickerTray_phone", delegate(string name, GameObject go, object data) {
         if (go == null)
         {
             Debug.LogError("Unable to load DeckPickerTray.");
         }
         else
         {
             this.m_deckPickerTray = go.GetComponent <DeckPickerTrayDisplay>();
             if (this.m_deckPickerTray == null)
             {
                 Debug.LogError("DeckPickerTrayDisplay component not found in DeckPickerTray object.");
             }
             else
             {
                 if (this.m_deckPickerTrayContainer != null)
                 {
                     GameUtils.SetParent(this.m_deckPickerTray, this.m_deckPickerTrayContainer, false);
                 }
                 AdventureSubScene component = base.GetComponent <AdventureSubScene>();
                 if (component != null)
                 {
                     this.m_practicePickerTray.AddTrayLoadedListener(delegate {
                         this.OnTrayPartLoaded();
                         this.m_practicePickerTray.gameObject.SetActive(false);
                     });
                     this.m_deckPickerTray.AddDeckTrayLoadedListener(new DeckPickerTrayDisplay.DeckTrayLoaded(this.OnTrayPartLoaded));
                     if (this.m_practicePickerTray.IsLoaded() && this.m_deckPickerTray.IsLoaded())
                     {
                         component.SetIsLoaded(true);
                     }
                 }
                 this.InitializeTrays();
                 CheatMgr.Get().RegisterCheatHandler("replaymissions", new CheatMgr.ProcessCheatCallback(this.OnProcessCheat_replaymissions), null, null, null);
                 CheatMgr.Get().RegisterCheatHandler("replaymission", new CheatMgr.ProcessCheatCallback(this.OnProcessCheat_replaymissions), null, null, null);
                 NetCache.Get().RegisterScreenPractice(new NetCache.NetCacheCallback(this.OnNetCacheReady));
             }
         }
     }, null, false);
 }
Exemplo n.º 5
0
        /// <summary>
        /// Config opponent for practice game.
        /// </summary>
        /// <param name="index">The index of opponent.</param>
        public void ConfigPracticeOpponent(int index)
        {
            this.tracer.Verbose(GetPrivateField <PracticeAIButton>(PracticePickerTrayDisplay.Get(), "m_selectedPracticeAIButton")?.name);

            List <PracticeAIButton> m_practiceAIButtons = GetPrivateField <List <PracticeAIButton> >(PracticePickerTrayDisplay.Get(), "m_practiceAIButtons");

            if (index <= 0 || index > m_practiceAIButtons.Count)
            {
                Random r = new Random();
                index = r.Next(0, m_practiceAIButtons.Count);
            }
            else
            {
                index -= 1;
            }

            m_practiceAIButtons[index].TriggerRelease();

            this.tracer.Verbose(GetPrivateField <PracticeAIButton>(PracticePickerTrayDisplay.Get(), "m_selectedPracticeAIButton")?.name);
        }
Exemplo n.º 6
0
 /// <summary>
 /// Start a practice (PVE) game.
 /// </summary>
 public void PlayPracticeGame()
 {
     PracticePickerTrayDisplay.Get().m_playButton.TriggerRelease();
 }
Exemplo n.º 7
0
        private void OnRockPraticeMode(bool expert)
        {
            if (SingletonOnGameRequest)
            {
                return;
            }
            SingletonOnGameRequest = true;

            if (SceneMgr.Get().IsInGame())
            {
                HoldBack(1000);
                return;
            }
            if (DeckPickerTrayDisplay.Get() == null)
            {
                HoldBack(1000);
                Log("DeckPickerTrayDisplay.Get() NULL");
                SingletonOnGameRequest = false;
                AdventureDbId     adventureId = Options.Get().GetEnum <AdventureDbId>(Option.SELECTED_ADVENTURE, AdventureDbId.PRACTICE);
                AdventureModeDbId modeId      = Options.Get().GetEnum <AdventureModeDbId>(Option.SELECTED_ADVENTURE_MODE, AdventureModeDbId.NORMAL);
                if (expert)
                {
                    modeId = Options.Get().GetEnum <AdventureModeDbId>(Option.SELECTED_ADVENTURE_MODE, AdventureModeDbId.EXPERT);
                }
                Log("AdventureConfig.Get().GetSelectedMode " + AdventureConfig.Get().GetSelectedMode());

                if (AdventureConfig.Get().CanPlayMode(adventureId, modeId))
                {
                    AdventureConfig.Get().SetSelectedAdventureMode(adventureId, modeId);
                    AdventureConfig.Get().ChangeSubSceneToSelectedAdventure();
                }
                else
                {
                    Log("AdventureConfig.Get().CanPlayMode FALSE");
                }

                return;
            }
            long deck = DeckPickerTrayDisplay.Get().GetSelectedDeckID();

            if (deck == 0)
            {
                HoldBack(1000);
                Log("DeckPickerTrayDisplay.Get() 0");
                SingletonOnGameRequest = false;
                return;
            }


            AdventureSubScenes currentSubScene = AdventureConfig.Get().GetCurrentSubScene();

            if (currentSubScene == AdventureSubScenes.Practice)
            {
                PracticePickerTrayDisplay.Get().Show();
                HoldBack(3000);
            }
            //       if (currentSubScene == AdventureSubScenes.MissionDeckPicker)
            //       {
            //           GameMgr.Get().FindGame(GameType.GT_VS_AI, formatType, (int)adventureConfig.GetMission(), selectedDeckID3, 0L);
            //       }


            HoldBack(5000);
            ScenarioDbId mission = HearthrockUtils.RandomPracticeMission();


            Notify("Mulligan");

            GameMgr.Get().FindGame(PegasusShared.GameType.GT_VS_AI, FormatType.FT_STANDARD, (int)mission, deck, 0L);
        }