public OverlayWindow(GameV2 game) { _game = game; InitializeComponent(); if(Config.Instance.ExtraFeatures && Config.Instance.ForceMouseHook) HookMouse(); ShowInTaskbar = Config.Instance.ShowInTaskbar; if(Config.Instance.VisibleOverlay) Background = (SolidColorBrush)new BrushConverter().ConvertFrom("#4C0000FF"); _offsetX = Config.Instance.OffsetX; _offsetY = Config.Instance.OffsetY; _customWidth = Config.Instance.CustomWidth; _customHeight = Config.Instance.CustomHeight; if(Config.Instance.ShowBatteryLife) EnableBatteryMonitor(); InitializeCollections(); GridMain.Visibility = Hidden; if(User32.GetHearthstoneWindow() != IntPtr.Zero) UpdatePosition(); Update(true); UpdateScaling(); UpdatePlayerLayout(); UpdateOpponentLayout(); GridMain.Visibility = Visible; }
public void LoadConfig(GameV2 game) { _game = game; ComboboxGameMode.SelectedItem = Config.Instance.SelectedStatsFilterGameMode; ComboboxTime.SelectedValue = Config.Instance.SelectedStatsFilterTimeFrame; ComboboxUnassigned.SelectedValue = Config.Instance.StatsOverallFilterDeckMode; ComboBoxPlayerClass.SelectedValue = Config.Instance.StatsOverallFilterPlayerHeroClass; ComboBoxOpponentClassD.SelectedValue = Config.Instance.StatsFilterOpponentHeroClass; ComboBoxOpponentClassOG.SelectedValue = Config.Instance.StatsFilterOpponentHeroClass; CheckBoxApplyTagFiltersOS.IsChecked = Config.Instance.StatsOverallApplyTagFilters; CheckBoxApplyTagFiltersOG.IsChecked = Config.Instance.StatsOverallApplyTagFilters; _initialized = true; ExpandCollapseGroupBox(GroupboxDeckOverview, Config.Instance.StatsDeckOverviewIsExpanded); ExpandCollapseGroupBox(GroupboxClassOverview, Config.Instance.StatsClassOverviewIsExpanded); LoadOverallStats(); DataGridGames.Items.SortDescriptions.Add(new SortDescription("StartTime", ListSortDirection.Descending)); DataGridOverallGames.Items.SortDescriptions.Add(new SortDescription("StartTime", ListSortDirection.Descending)); Core.MainWindow.FlyoutDeck.ClosingFinished += (sender, args) => { BtnShowOpponentDeck.Content = BtnOpponentDeckTextShow; BtnOverallShowOpponentDeck.Content = BtnOpponentDeckTextShow; }; }
public OpponentWindow(GameV2 game) { InitializeComponent(); _game = game; //ListViewOpponent.ItemsSource = opponentDeck; //opponentDeck.CollectionChanged += OpponentDeckOnCollectionChanged; Height = Config.Instance.OpponentWindowHeight; if(Config.Instance.OpponentWindowLeft.HasValue) Left = Config.Instance.OpponentWindowLeft.Value; if(Config.Instance.OpponentWindowTop.HasValue) Top = Config.Instance.OpponentWindowTop.Value; Topmost = Config.Instance.WindowsTopmost; var titleBarCorners = new[] { new Point((int)Left + 5, (int)Top + 5), new Point((int)(Left + Width) - 5, (int)Top + 5), new Point((int)Left + 5, (int)(Top + TitlebarHeight) - 5), new Point((int)(Left + Width) - 5, (int)(Top + TitlebarHeight) - 5) }; if(!Screen.AllScreens.Any(s => titleBarCorners.Any(c => s.WorkingArea.Contains(c)))) { Top = 100; Left = 100; } Update(); }
public static void Start(GameV2 game) { InitializeGameState(game); InitializeLogReaders(); _startingPoint = GetStartingPoint(); StartLogReaders(); }
public void Load(GameV2 game) { _game = game; CheckboxHideOverlayInBackground.IsChecked = Config.Instance.HideInBackground; CheckboxHideOpponentCardAge.IsChecked = Config.Instance.HideOpponentCardAge; CheckboxHideOpponentCardMarks.IsChecked = Config.Instance.HideOpponentCardMarks; CheckboxHideOverlayInMenu.IsChecked = Config.Instance.HideInMenu; CheckboxHideOverlay.IsChecked = Config.Instance.HideOverlay; CheckboxHideDecksInOverlay.IsChecked = Config.Instance.HideDecksInOverlay; CheckboxHideSecrets.IsChecked = Config.Instance.HideSecrets; CheckboxOverlaySecretToolTipsOnly.IsChecked = Config.Instance.OverlaySecretToolTipsOnly; CheckboxHideOverlayInSpectator.IsChecked = Config.Instance.HideOverlayInSpectator; CheckboxOverlayCardMarkToolTips.IsChecked = Config.Instance.OverlayCardMarkToolTips; SliderOverlayOpacity.Value = Config.Instance.OverlayOpacity; CheckboxHideTimers.IsChecked = Config.Instance.HideTimers; CheckboxOverlayCardToolTips.IsChecked = Config.Instance.OverlayCardToolTips; CheckboxOverlayAdditionalCardToolTips.IsEnabled = Config.Instance.OverlayCardToolTips; CheckboxOverlayAdditionalCardToolTips.IsChecked = Config.Instance.AdditionalOverlayTooltips; CheckboxAutoGrayoutSecrets.IsChecked = Config.Instance.AutoGrayoutSecrets; CheckboxKeepDecksVisible.IsChecked = Config.Instance.KeepDecksVisible; CheckboxAlwaysShowGoldProgress.IsChecked = Config.Instance.AlwaysShowGoldProgress; CheckboxHidePlayerAttackIcon.IsChecked = Config.Instance.HidePlayerAttackIcon; CheckboxHideOpponentAttackIcon.IsChecked = Config.Instance.HideOpponentAttackIcon; CheckBoxBatteryStatus.IsChecked = Config.Instance.ShowBatteryLife; CheckBoxBatteryStatusText.IsChecked = Config.Instance.ShowBatteryLifePercent; CheckBoxFlavorText.IsChecked = Config.Instance.ShowFlavorText; _initialized = true; }
public async Task Start(GameV2 game) { if(game == null) { Log.Warn("Could not start timer, game is null"); return; } Log.Info("Starting turn timer"); if(_game != null) { Log.Warn("Turn timer is already running"); return; } _game = game; PlayerSeconds = 0; OpponentSeconds = 0; Seconds = 75; if(game.PlayerEntity == null) Log.Warn("Waiting for player entity"); while(game.PlayerEntity == null) await Task.Delay(100); if(game.OpponentEntity == null) Log.Warn("Waiting for player entity"); while(game.OpponentEntity == null) await Task.Delay(100); TimerTick(new TimerState(Seconds, PlayerSeconds, OpponentSeconds)); _timer.Start(); }
public int AdjustedCount(GameV2 game) { return (Config.Instance.AutoGrayoutSecrets && (game.CurrentGameMode == GameMode.Casual || game.CurrentGameMode == GameMode.Ranked || game.CurrentGameMode == GameMode.Friendly || game.CurrentGameMode == GameMode.Practice || ActiveDeckIsConstructed) && game.Opponent.RevealedEntities.Count(x => x.Id < 68 && x.CardId == CardId) >= 2) ? 0 : Count; }
public int AdjustedCount(GameV2 game) { return (Config.Instance.AutoGrayoutSecrets && (game.CurrentGameMode == GameMode.Casual || game.CurrentGameMode == GameMode.Ranked || game.CurrentGameMode == GameMode.Brawl || game.CurrentGameMode == GameMode.Friendly || game.CurrentGameMode == GameMode.Practice) && game.OpponentCards.Any(x => !x.IsStolen && x.Id == CardId & x.Count >= 2)) ? 0 : Count; }
public int AdjustedCount(GameV2 game) { return (Config.Instance.AutoGrayoutSecrets && (game.CurrentGameMode == GameMode.Casual || game.CurrentGameMode == GameMode.Ranked || game.CurrentGameMode == GameMode.Friendly || game.CurrentGameMode == GameMode.Practice) && game.Opponent.RevealedCards.Where(x => x != null && x.Entity != null) .Count(x => x.Entity.Id < 68 && x.Entity.CardId == CardId) >= 2) ? 0 : Count; }
public DebugWindow(GameV2 game) { _game = game; InitializeComponent(); _update = true; Closing += (sender, args) => _update = false; Update(); }
public void Setup() { Core.Game = null; _game = new GameV2(); Core.Game = _game; _gameEventHandler = new GameEventHandler(_game); _heroPlayer = CreateNewEntity("HERO_01"); _heroPlayer.SetTag(GameTag.CARDTYPE, (int)CardType.HERO); _heroPlayer.IsPlayer = true; _heroOpponent = CreateNewEntity("HERO_02"); _heroOpponent.SetTag(GameTag.CARDTYPE, (int) CardType.HERO); _heroOpponent.SetTag(GameTag.CONTROLLER, _heroOpponent.Id); _heroOpponent.IsPlayer = false; _game.Entities.Add(0, _heroPlayer); _game.Player.Id = _heroPlayer.Id; _game.Entities.Add(1, _heroOpponent); _game.Opponent.Id = _heroOpponent.Id; _playerMinion1 = CreateNewEntity("EX1_010"); _playerMinion1.SetTag(GameTag.CARDTYPE, (int)CardType.MINION); _playerMinion1.SetTag(GameTag.CONTROLLER, _heroPlayer.Id); _opponentMinion1 = CreateNewEntity("EX1_020"); _opponentMinion1.SetTag(GameTag.CARDTYPE, (int)CardType.MINION); _opponentMinion1.SetTag(GameTag.CONTROLLER, _heroOpponent.Id); _opponentMinion2 = CreateNewEntity("EX1_021"); _opponentMinion2.SetTag(GameTag.CARDTYPE, (int)CardType.MINION); _opponentMinion2.SetTag(GameTag.CONTROLLER, _heroOpponent.Id); _playerSpell1 = CreateNewEntity("CS2_029"); _playerSpell1.SetTag(GameTag.CARDTYPE, (int)CardType.SPELL); _playerSpell1.SetTag(GameTag.CARD_TARGET, _opponentMinion1.Id); _playerSpell1.SetTag(GameTag.CONTROLLER, _heroPlayer.Id); _playerSpell2 = CreateNewEntity("CS2_025"); _playerSpell2.SetTag(GameTag.CARDTYPE, (int)CardType.SPELL); _playerSpell2.SetTag(GameTag.CONTROLLER, _heroPlayer.Id); _game.Entities.Add(2, _playerMinion1); _game.Entities.Add(3, _opponentMinion1); _game.Entities.Add(4, _opponentMinion2); _secretHunter1 = CreateNewEntity(""); _secretHunter1.SetTag(GameTag.CLASS, (int)CardClass.HUNTER); _secretHunter2 = CreateNewEntity(""); _secretHunter2.SetTag(GameTag.CLASS, (int)CardClass.HUNTER); _secretMage1 = CreateNewEntity(""); _secretMage1.SetTag(GameTag.CLASS, (int)CardClass.MAGE); _secretMage2 = CreateNewEntity(""); _secretMage2.SetTag(GameTag.CLASS, (int)CardClass.MAGE); _secretPaladin1 = CreateNewEntity(""); _secretPaladin1.SetTag(GameTag.CLASS, (int)CardClass.PALADIN); _secretPaladin2 = CreateNewEntity(""); _secretPaladin2.SetTag(GameTag.CLASS, (int)CardClass.PALADIN); _gameEventHandler.HandleOpponentSecretPlayed(_secretHunter1, "", 0, 0, Zone.HAND, _secretHunter1.Id); _gameEventHandler.HandleOpponentSecretPlayed(_secretMage1, "", 0, 0, Zone.HAND, _secretMage1.Id); _gameEventHandler.HandleOpponentSecretPlayed(_secretPaladin1, "", 0, 0, Zone.HAND, _secretPaladin1.Id); }
public static async Task Start(GameV2 game) { if(!Helper.HearthstoneDirExists) await FindHearthstone(); InitializeGameState(game); InitializeLogReaders(); _startingPoint = GetStartingPoint(); //StartLogReaders(); }
public void Start(GameV2 game) { _game = game; _gameState = new HsGameState(game); _gameState.GameHandler = new GameEventHandler(game); _gameState.GameHandler.ResetConstructedImporting(); _gameState.LastGameStart = DateTime.Now; Start(_gameState.GameHandler, game); }
public void Start(IGameHandler gh, GameV2 game) { _gameState.AddToTurn = -1; _gameState.First = true; _gameState.DoUpdate = true; _gameState.GameHandler = gh; _gameState.GameEnded = false; ReadFileAsync(); }
public void LoadConfig(GameV2 game) { _game = game; CheckboxPlayerDraw.IsChecked = Config.Instance.GameDetails.ShowPlayerDraw; CheckboxOpponentDraw.IsChecked = Config.Instance.GameDetails.ShowOpponentDraw; CheckboxPlayerPlay.IsChecked = Config.Instance.GameDetails.ShowPlayerPlay; CheckboxOpponentPlay.IsChecked = Config.Instance.GameDetails.ShowOpponentPlay; CheckboxPlayerMulligan.IsChecked = Config.Instance.GameDetails.ShowPlayerMulligan; CheckboxOpponentMulligan.IsChecked = Config.Instance.GameDetails.ShowOpponentMulligan; _initialized = true; }
public LoginWindow() { _game = new GameV2(); Card.SetGame(_game); InitializeComponent(); Logger.Initialzie(); Config.Load(); if(HearthStatsAPI.LoadCredentials() || !Config.Instance.ShowLoginDialog) StartMainApp(); CheckBoxRememberLogin.IsChecked = Config.Instance.RememberHearthStatsLogin; _initialized = true; }
public void Load(GameV2 game) { _game = game; CheckboxHighlightCardsInHand.IsChecked = Config.Instance.HighlightCardsInHand; CheckboxRemoveCards.IsChecked = Config.Instance.RemoveCardsFromDeck; CheckboxHighlightLastDrawn.IsChecked = Config.Instance.HighlightLastDrawn; CheckboxShowPlayerGet.IsChecked = Config.Instance.ShowPlayerGet; SliderPlayerOpacity.Value = Config.Instance.PlayerOpacity; SliderOverlayPlayerScaling.Value = Config.Instance.OverlayPlayerScaling; TextBoxScaling.Text = Config.Instance.OverlayPlayerScaling.ToString(CultureInfo.InvariantCulture); CheckboxSameScaling.IsChecked = Config.Instance.UseSameScaling; CheckBoxCenterDeckVertically.IsChecked = Config.Instance.OverlayCenterPlayerStackPanel; CheckBoxAttack.IsChecked = !Config.Instance.HidePlayerAttackIcon; ComboBoxCthun.ItemsSource = Enum.GetValues(typeof(DisplayMode)).Cast<DisplayMode>(); ComboBoxCthun.SelectedItem = Config.Instance.PlayerCthunCounter; ComboBoxSpells.ItemsSource = Enum.GetValues(typeof(DisplayMode)).Cast<DisplayMode>(); ComboBoxSpells.SelectedItem = Config.Instance.PlayerSpellsCounter; ElementSorterPlayer.IsPlayer = true; foreach(var itemName in Config.Instance.PanelOrderPlayer) { switch(itemName) { case "Deck Title": ElementSorterPlayer.AddItem(new ElementSorterItem("Deck Title", Config.Instance.ShowDeckTitle, value => Config.Instance.ShowDeckTitle = value, true)); break; case "Cards": ElementSorterPlayer.AddItem(new ElementSorterItem("Cards", !Config.Instance.HidePlayerCards, value => Config.Instance.HidePlayerCards = !value, true)); break; case "Card Counter": ElementSorterPlayer.AddItem(new ElementSorterItem("Card Counter", !Config.Instance.HidePlayerCardCount, value => Config.Instance.HidePlayerCardCount = !value, true)); break; case "Fatigue Counter": ElementSorterPlayer.AddItem(new ElementSorterItem("Fatigue Counter", !Config.Instance.HidePlayerFatigueCount, value => Config.Instance.HidePlayerFatigueCount = !value, true)); break; case "Draw Chances": ElementSorterPlayer.AddItem(new ElementSorterItem("Draw Chances", !Config.Instance.HideDrawChances, value => Config.Instance.HideDrawChances = !value, true)); break; case "Wins": ElementSorterPlayer.AddItem(new ElementSorterItem("Wins", Config.Instance.ShowDeckWins, value => Config.Instance.ShowDeckWins = value, true)); break; } } _initialized = true; }
public LoginWindow() { Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); Logger.Initialzie(); Config.Load(); _game = new GameV2(); Card.SetGame(_game); API.Core.Game = _game; InitializeComponent(); if(HearthStatsAPI.LoadCredentials() || !Config.Instance.ShowLoginDialog) StartMainApp(); CheckBoxRememberLogin.IsChecked = Config.Instance.RememberHearthStatsLogin; _initialized = true; }
public void Load(GameV2 game) { _game = game; ComboboxArenaImportingBehaviour.ItemsSource = Enum.GetValues(typeof(ArenaImportingBehaviour)); if(Config.Instance.SelectedArenaImportingBehaviour.HasValue) ComboboxArenaImportingBehaviour.SelectedItem = Config.Instance.SelectedArenaImportingBehaviour.Value; CheckboxTagOnImport.IsChecked = Config.Instance.TagDecksOnImport; CheckboxImportNetDeck.IsChecked = Config.Instance.NetDeckClipboardCheck ?? false; CheckboxAutoSaveOnImport.IsChecked = Config.Instance.AutoSaveOnImport; TextBoxArenaTemplate.Text = Config.Instance.ArenaDeckNameTemplate; CheckBoxConstructedImportNew.IsChecked = Config.Instance.ConstructedAutoImportNew; CheckBoxConstrucedUpdate.IsChecked = Config.Instance.ConstructedAutoUpdate; _initialized = true; }
public void Setup() { _game = new GameV2(); _gameEventHandler = new GameEventHandler(_game); _heroPlayer = CreateNewEntity("HERO_01"); _heroPlayer.SetTag(GAME_TAG.CARDTYPE, (int) TAG_CARDTYPE.HERO); _heroPlayer.IsPlayer = true; _heroOpponent = CreateNewEntity("HERO_02"); _heroOpponent.SetTag(GAME_TAG.CARDTYPE, (int) TAG_CARDTYPE.HERO); _heroOpponent.SetTag(GAME_TAG.CONTROLLER, _heroOpponent.Id); _heroOpponent.IsPlayer = false; _game.Entities.Add(0, _heroPlayer); _game.Player.Id = _heroPlayer.Id; _game.Entities.Add(1, _heroOpponent); _game.Opponent.Id = _heroOpponent.Id; _playerMinion1 = CreateNewEntity("EX1_010"); _playerMinion1.SetTag(GAME_TAG.CARDTYPE, (int)TAG_CARDTYPE.MINION); _playerMinion1.SetTag(GAME_TAG.CONTROLLER, _heroPlayer.Id); _opponentMinion1 = CreateNewEntity("EX1_020"); _opponentMinion1.SetTag(GAME_TAG.CARDTYPE, (int)TAG_CARDTYPE.MINION); _opponentMinion1.SetTag(GAME_TAG.CONTROLLER, _heroOpponent.Id); _opponentMinion2 = CreateNewEntity("EX1_021"); _opponentMinion2.SetTag(GAME_TAG.CARDTYPE, (int)TAG_CARDTYPE.MINION); _opponentMinion2.SetTag(GAME_TAG.CONTROLLER, _heroOpponent.Id); _game.Entities.Add(2, _playerMinion1); _game.Entities.Add(3, _opponentMinion1); _game.Entities.Add(4, _opponentMinion2); _secretHunter1 = CreateNewEntity(""); _secretHunter1.SetTag(GAME_TAG.CLASS, (int) TAG_CLASS.HUNTER); _secretHunter2 = CreateNewEntity(""); _secretHunter2.SetTag(GAME_TAG.CLASS, (int) TAG_CLASS.HUNTER); _secretMage1 = CreateNewEntity(""); _secretMage1.SetTag(GAME_TAG.CLASS, (int) TAG_CLASS.MAGE); _secretMage2 = CreateNewEntity(""); _secretMage2.SetTag(GAME_TAG.CLASS, (int) TAG_CLASS.MAGE); _secretPaladin1 = CreateNewEntity(""); _secretPaladin1.SetTag(GAME_TAG.CLASS, (int) TAG_CLASS.PALADIN); _secretPaladin2 = CreateNewEntity(""); _secretPaladin2.SetTag(GAME_TAG.CLASS, (int) TAG_CLASS.PALADIN); _gameEventHandler.HandleOpponentSecretPlayed(_secretHunter1, "", 0, 0, false, _secretHunter1.Id); _gameEventHandler.HandleOpponentSecretPlayed(_secretMage1, "", 0, 0, false, _secretMage1.Id); _gameEventHandler.HandleOpponentSecretPlayed(_secretPaladin1, "", 0, 0, false, _secretPaladin1.Id); }
public void Load(GameV2 game) { _game = game; CheckboxHighlightDiscarded.IsChecked = Config.Instance.HighlightDiscarded; SliderOpponentOpacity.Value = Config.Instance.OpponentOpacity; SliderOverlayOpponentScaling.Value = Config.Instance.OverlayOpponentScaling; CheckboxSameScaling.IsChecked = Config.Instance.UseSameScaling; SliderSecretOpacity.Value = Config.Instance.SecretsOpacity; CheckBoxCenterDeckVertically.IsChecked = Config.Instance.OverlayCenterOpponentStackPanel; CheckboxIncludeCreated.IsChecked = Config.Instance.OpponentIncludeCreated; CheckBoxAttack.IsChecked = !Config.Instance.HideOpponentAttackIcon; ComboBoxCthun.ItemsSource = Enum.GetValues(typeof(DisplayMode)).Cast<DisplayMode>(); ComboBoxCthun.SelectedItem = Config.Instance.OpponentCthunCounter; ComboBoxSpells.ItemsSource = new[] {DisplayMode.Always, DisplayMode.Never}; ComboBoxSpells.SelectedItem = Config.Instance.OpponentSpellsCounter; ElementSorterOpponent.IsPlayer = false; foreach(var panel in Config.Instance.DeckPanelOrderOpponent) { switch(panel) { case Enums.DeckPanel.Winrate: ElementSorterOpponent.AddItem(new ElementSorterItem(panel, Config.Instance.ShowWinRateAgainst, value => Config.Instance.ShowWinRateAgainst = value, false)); break; case Enums.DeckPanel.Cards: ElementSorterOpponent.AddItem(new ElementSorterItem(panel, !Config.Instance.HideOpponentCards, value => Config.Instance.HideOpponentCards = !value, false)); break; case Enums.DeckPanel.CardCounter: ElementSorterOpponent.AddItem(new ElementSorterItem(panel, !Config.Instance.HideOpponentCardCount, value => Config.Instance.HideOpponentCardCount = !value, false)); break; case Enums.DeckPanel.DrawChances: ElementSorterOpponent.AddItem(new ElementSorterItem(panel, !Config.Instance.HideOpponentDrawChances, value => Config.Instance.HideOpponentDrawChances = !value, false)); break; case Enums.DeckPanel.Fatigue: ElementSorterOpponent.AddItem(new ElementSorterItem(panel, !Config.Instance.HideOpponentFatigueCount, value => Config.Instance.HideOpponentFatigueCount = !value, false)); break; } } Core.Overlay.UpdateOpponentLayout(); Core.Windows.OpponentWindow.UpdateOpponentLayout(); _initialized = true; }
public void Load(GameV2 game) { _game = game; CheckboxHighlightCardsInHand.IsChecked = Config.Instance.HighlightCardsInHand; CheckboxRemoveCards.IsChecked = Config.Instance.RemoveCardsFromDeck; CheckboxHighlightLastDrawn.IsChecked = Config.Instance.HighlightLastDrawn; CheckboxShowPlayerGet.IsChecked = Config.Instance.ShowPlayerGet; SliderPlayerOpacity.Value = Config.Instance.PlayerOpacity; SliderOverlayPlayerScaling.Value = Config.Instance.OverlayPlayerScaling; TextBoxScaling.Text = Config.Instance.OverlayPlayerScaling.ToString(CultureInfo.InvariantCulture); CheckboxSameScaling.IsChecked = Config.Instance.UseSameScaling; ElementSorterPlayer.IsPlayer = true; foreach(var itemName in Config.Instance.PanelOrderPlayer) { switch(itemName) { case "Deck Title": ElementSorterPlayer.AddItem(new ElementSorterItem("Deck Title", Config.Instance.ShowDeckTitle, value => Config.Instance.ShowDeckTitle = value, true)); break; case "Cards": ElementSorterPlayer.AddItem(new ElementSorterItem("Cards", !Config.Instance.HidePlayerCards, value => Config.Instance.HidePlayerCards = !value, true)); break; case "Card Counter": ElementSorterPlayer.AddItem(new ElementSorterItem("Card Counter", !Config.Instance.HidePlayerCardCount, value => Config.Instance.HidePlayerCardCount = !value, true)); break; case "Fatigue Counter": ElementSorterPlayer.AddItem(new ElementSorterItem("Fatigue Counter", !Config.Instance.HidePlayerFatigueCount, value => Config.Instance.HidePlayerFatigueCount = !value, true)); break; case "Draw Chances": ElementSorterPlayer.AddItem(new ElementSorterItem("Draw Chances", !Config.Instance.HideDrawChances, value => Config.Instance.HideDrawChances = !value, true)); break; case "Wins": ElementSorterPlayer.AddItem(new ElementSorterItem("Wins", Config.Instance.ShowDeckWins, value => Config.Instance.ShowDeckWins = value, true)); break; } } Helper.MainWindow.Overlay.UpdatePlayerLayout(); Helper.MainWindow.PlayerWindow.UpdatePlayerLayout(); _initialized = true; }
public void Load(GameV2 game) { OptionsOverlayGeneral.Load(game); OptionsOverlayDeckWindows.Load(game); OptionsOverlayPlayer.Load(game); OptionsOverlayOpponent.Load(game); OptionsOverlayInteractivity.Load(); OptionsTrackerSettings.Load(); OptionsTrackerExporting.Load(); OptionsTrackerImporting.Load(game); OptionsTrackerLogging.Load(game); OptionsTrackerStats.Load(); OptionsTrackerLogging.Load(game); OptionsTrackerGeneral.Load(); OptionsTrackerAppearance.Load(); OptionsTrackerBackups.Load(); OptionsTrackerNotifications.Load(); }
public PlayerWindow(GameV2 game, Config config, ObservableCollection<Card> playerDeck, bool forScreenshot = false) { InitializeComponent(); _game = game; _forScreenshot = forScreenshot; _config = config; ListViewPlayer.ItemsSource = playerDeck; playerDeck.CollectionChanged += PlayerDeckOnCollectionChanged; Height = _config.PlayerWindowHeight; if(_config.PlayerWindowLeft.HasValue) Left = _config.PlayerWindowLeft.Value; if(_config.PlayerWindowTop.HasValue) Top = _config.PlayerWindowTop.Value; Topmost = _config.WindowsTopmost; var titleBarCorners = new[] { new Point((int)Left + 5, (int)Top + 5), new Point((int)(Left + Width) - 5, (int)Top + 5), new Point((int)Left + 5, (int)(Top + TitlebarHeight) - 5), new Point((int)(Left + Width) - 5, (int)(Top + TitlebarHeight) - 5) }; if(!Screen.AllScreens.Any(s => titleBarCorners.Any(c => s.WorkingArea.Contains(c)))) { Top = 100; Left = 100; } if(forScreenshot) { CanvasPlayerChance.Visibility = Visibility.Collapsed; CanvasPlayerCount.Visibility = Visibility.Collapsed; LblWins.Visibility = Visibility.Collapsed; LblDeckTitle.Visibility = Visibility.Collapsed; Height = 34 * ListViewPlayer.Items.Count; Scale(); } else Update(); }
public void Load(GameV2 game) { _game = game; CheckboxWindowsTopmost.IsChecked = Config.Instance.WindowsTopmost; CheckboxPlayerWindowOpenAutomatically.IsChecked = Config.Instance.PlayerWindowOnStart; CheckboxOpponentWindowOpenAutomatically.IsChecked = Config.Instance.OpponentWindowOnStart; CheckboxTimerTopmost.IsChecked = Config.Instance.TimerWindowTopmost; CheckboxTimerWindow.IsChecked = Config.Instance.TimerWindowOnStartup; CheckboxTimerTopmostHsForeground.IsChecked = Config.Instance.TimerWindowTopmostIfHsForeground; CheckboxTimerTopmostHsForeground.IsEnabled = Config.Instance.TimerWindowTopmost; CheckboxWinTopmostHsForeground.IsChecked = Config.Instance.WindowsTopmostIfHsForeground; CheckboxWinTopmostHsForeground.IsEnabled = Config.Instance.WindowsTopmost; ComboboxWindowBackground.SelectedItem = Config.Instance.SelectedWindowBackground; TextboxCustomBackground.IsEnabled = Config.Instance.SelectedWindowBackground == "Custom"; TextboxCustomBackground.Text = string.IsNullOrEmpty(Config.Instance.WindowsBackgroundHex) ? "#696969" : Config.Instance.WindowsBackgroundHex; UpdateAdditionalWindowsBackground(); CheckboxWindowCardToolTips.IsChecked = Config.Instance.WindowCardToolTips; _initialized = true; }
public void Load(GameV2 game) { _game = game; CheckboxHighlightDiscarded.IsChecked = Config.Instance.HighlightDiscarded; SliderOpponentOpacity.Value = Config.Instance.OpponentOpacity; SliderOverlayOpponentScaling.Value = Config.Instance.OverlayOpponentScaling; CheckboxSameScaling.IsChecked = Config.Instance.UseSameScaling; SliderSecretOpacity.Value = Config.Instance.SecretsOpacity; ElementSorterOpponent.IsPlayer = false; foreach(var itemName in Config.Instance.PanelOrderOpponent) { switch(itemName) { case "Cards": ElementSorterOpponent.AddItem(new ElementSorterItem("Cards", !Config.Instance.HideOpponentCards, value => Config.Instance.HideOpponentCards = !value, false)); break; case "Card Counter": ElementSorterOpponent.AddItem(new ElementSorterItem("Card Counter", !Config.Instance.HideOpponentCardCount, value => Config.Instance.HideOpponentCardCount = !value, false)); break; case "Fatigue Counter": ElementSorterOpponent.AddItem(new ElementSorterItem("Fatigue Counter", !Config.Instance.HideOpponentFatigueCount, value => Config.Instance.HideOpponentFatigueCount = !value, false)); break; case "Draw Chances": ElementSorterOpponent.AddItem(new ElementSorterItem("Draw Chances", !Config.Instance.HideOpponentDrawChances, value => Config.Instance.HideOpponentDrawChances = !value, false)); break; case "Win Rate": ElementSorterOpponent.AddItem(new ElementSorterItem("Win Rate", Config.Instance.ShowWinRateAgainst, value => Config.Instance.ShowWinRateAgainst = value, false)); break; } } Core.Overlay.UpdateOpponentLayout(); Core.Windows.OpponentWindow.UpdateOpponentLayout(); _initialized = true; }
public void Setup() { Core.Game = null; _game = new GameV2(); Core.Game = _game; _game.Player.Id = 0; _entities = new Dictionary<int, Entity>(); _entities[0] = new Entity(0); _entities[0].SetTag(GameTag.FIRST_PLAYER, 1); _entities[1] = new Entity(1); _entities[1].Name = "GameEntity"; _entities[1].SetTag(GameTag.TURN, 11); _heroA = new Entity(4); _heroA.CardId = "HERO_08"; _heroA.Name = null; _heroA.SetTag(GameTag.HEALTH, 30); _heroA.SetTag(GameTag.ZONE, 1); _heroA.SetTag(GameTag.CONTROLLER, 1); _heroA.SetTag(GameTag.ENTITY_ID, 4); _heroA.SetTag(GameTag.CARDTYPE, 3); _heroA.SetTag(GameTag.DAMAGE, 7); _heroA.SetTag(GameTag.ARMOR, 0); _heroB = new Entity(36); _heroB.CardId = "HERO_03"; _heroB.Name = null; _heroB.SetTag(GameTag.HEALTH, 30); _heroB.SetTag(GameTag.ZONE, 1); _heroB.SetTag(GameTag.CONTROLLER, 2); _heroB.SetTag(GameTag.ENTITY_ID, 36); _heroB.SetTag(GameTag.CARDTYPE, 3); _heroB.SetTag(GameTag.DAMAGE, 14); _heroB.SetTag(GameTag.ARMOR, 0); _heroB.SetTag(GameTag.ATK, 1); _heroB.SetTag(GameTag.EXHAUSTED, 1); }
public OverlayWindow(GameV2 game) { _game = game; InitializeComponent(); if(Config.Instance.ExtraFeatures && Config.Instance.ForceMouseHook) HookMouse(); Scaling = 1.0; OpponentScaling = 1.0; ShowInTaskbar = Config.Instance.ShowInTaskbar; if(Config.Instance.VisibleOverlay) Background = (SolidColorBrush)new BrushConverter().ConvertFrom("#4C0000FF"); _offsetX = Config.Instance.OffsetX; _offsetY = Config.Instance.OffsetY; _customWidth = Config.Instance.CustomWidth; _customHeight = Config.Instance.CustomHeight; if(Config.Instance.ShowBatteryLife) EnableBatteryMonitor(); InitializeCollections(); UpdateScaling(); }
public PlayerWindow(GameV2 game, List<Card> forScreenshot = null) { InitializeComponent(); _game = game; Height = Config.Instance.PlayerWindowHeight; if(Config.Instance.PlayerWindowLeft.HasValue) Left = Config.Instance.PlayerWindowLeft.Value; if(Config.Instance.PlayerWindowTop.HasValue) Top = Config.Instance.PlayerWindowTop.Value; Topmost = Config.Instance.WindowsTopmost; var titleBarCorners = new[] { new Point((int)Left + 5, (int)Top + 5), new Point((int)(Left + Width) - 5, (int)Top + 5), new Point((int)Left + 5, (int)(Top + TitlebarHeight) - 5), new Point((int)(Left + Width) - 5, (int)(Top + TitlebarHeight) - 5) }; if(!Screen.AllScreens.Any(s => titleBarCorners.Any(c => s.WorkingArea.Contains(c)))) { Top = 100; Left = 100; } if(forScreenshot != null) { CanvasPlayerChance.Visibility = Visibility.Collapsed; CanvasPlayerCount.Visibility = Visibility.Collapsed; LblWins.Visibility = Visibility.Collapsed; LblDeckTitle.Visibility = Visibility.Collapsed; ListViewPlayer.Update(forScreenshot, true); Height = 34 * ListViewPlayer.Items.Count; } }
public OpponentWindow(GameV2 game) { InitializeComponent(); _game = game; Height = Config.Instance.OpponentWindowHeight; if(Config.Instance.OpponentWindowLeft.HasValue) Left = Config.Instance.OpponentWindowLeft.Value; if(Config.Instance.OpponentWindowTop.HasValue) Top = Config.Instance.OpponentWindowTop.Value; Topmost = Config.Instance.WindowsTopmost; var titleBarCorners = new[] { new Point((int)Left + 5, (int)Top + 5), new Point((int)(Left + Width) - 5, (int)Top + 5), new Point((int)Left + 5, (int)(Top + TitlebarHeight) - 5), new Point((int)(Left + Width) - 5, (int)(Top + TitlebarHeight) - 5) }; if(!Screen.AllScreens.Any(s => titleBarCorners.Any(c => s.WorkingArea.Contains(c)))) { Top = 100; Left = 100; } }
public static void SetGame(GameV2 game) { _game = game; }
public Player(GameV2 game, bool isLocalPlayer) { _game = game; IsLocalPlayer = isLocalPlayer; }
public BattlegroundsBoardState(GameV2 game) { _game = game; }