public Advisor(AdvisorOverlay overlay) { _notificationFlyout = CreateDialogFlyout(); _settingsFlyout = CreateSettingsFlyout(); Settings.Default.PropertyChanged += new PropertyChangedEventHandler(Settings_PropertyChanged); _advisorOverlay = overlay; //trackerRepository = new TrackerRepository(); //LoadArchetypeDecks(); _advisorOverlay.LblArchetype.Text = ""; _advisorOverlay.LblStats.Text = ""; //Task.Delay(5000); // TODO: CoreAPI.Game.IsInMenu is true, so Advisor overlay is not shown after instantiating this addon while a game is running. How do we repair this? //_advisorOverlay.Update(new List<Card>()); UpdateCardList(); // Hide in menu, if necessary if (Config.Instance.HideInMenu && CoreAPI.Game.IsInMenu) { _advisorOverlay.Hide(); } else { _advisorOverlay.Show(); } }
public async void OnLoad() { // Small delay to guarantee all game variables are set correctly by now (especially CoreAPI.Game.IsInMenu) await Task.Delay(500); _advisorOverlay = new AdvisorOverlay(); Core.OverlayCanvas.Children.Add(_advisorOverlay); advisor = new Advisor(_advisorOverlay); // Check for updates if (Settings.Default.CheckForUpdates) { await CheckForUpdate(); } GameEvents.OnInMenu.Add(advisor.InMenu); GameEvents.OnGameStart.Add(advisor.GameStart); //GameEvents.OnTurnStart.Add(advisor.TurnStart); GameEvents.OnOpponentPlay.Add(advisor.OpponentPlay); GameEvents.OnOpponentSecretTriggered.Add(advisor.OpponentSecretTiggered); GameEvents.OnOpponentDeckDiscard.Add(advisor.OpponentDeckDiscard); GameEvents.OnOpponentDeckToPlay.Add(advisor.OpponentDeckToPlay); GameEvents.OnOpponentHandDiscard.Add(advisor.OpponentHandDiscard); GameEvents.OnOpponentJoustReveal.Add(advisor.OpponentJoustReveal); // TODO: How to prevent from multiple GameEvent registrations we disabling and reenabling plugins? See: https://github.com/HearthSim/Hearthstone-Deck-Tracker/issues/3079 }
public Advisor(AdvisorOverlay overlay) { _notificationFlyout = CreateDialogFlyout(); _settingsFlyout = CreateSettingsFlyout(); Settings.Default.PropertyChanged += new PropertyChangedEventHandler(Settings_PropertyChanged); _advisorOverlay = overlay; //trackerRepository = new TrackerRepository(); //LoadArchetypeDecks(); _advisorOverlay.LblArchetype.Text = "No matching archetype yet"; _advisorOverlay.LblStats.Text = ""; //_advisorOverlay.Update(new List<Card>()); UpdateCardList(); // Hide in menu, if necessary if (Config.Instance.HideInMenu && CoreAPI.Game.IsInMenu) { _advisorOverlay.Hide(); } else { _advisorOverlay.Show(); } }
public Advisor(AdvisorOverlay overlay) { _notificationFlyout = CreateDialogFlyout(); _settingsFlyout = CreateSettingsFlyout(); Settings.Default.PropertyChanged += Settings_PropertyChanged; _advisorOverlay = overlay; _advisorOverlay.LblArchetype.Text = ""; _advisorOverlay.LblStats.Text = ""; // TODO: CoreAPI.Game.IsInMenu is true, so Advisor overlay is not shown after instantiating this addon while a game is running. How do we repair this? UpdateCardList(); // Hide in menu, if necessary if (Config.Instance.HideInMenu && CoreAPI.Game.IsInMenu) { _advisorOverlay.Hide(); } else { _advisorOverlay.Show(); } }