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)); }
/// <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); }
/// <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(); } }
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); }
/// <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); }
/// <summary> /// Start a practice (PVE) game. /// </summary> public void PlayPracticeGame() { PracticePickerTrayDisplay.Get().m_playButton.TriggerRelease(); }
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); }