private void HandleTurnStart(Tuple <ActivePlayer, int> turn) { var player = turn.Item1; Log.Info($"--- {player} turn {turn.Item2} ---"); if (player == ActivePlayer.Player) { HandleThaurissanCostReduction(); } GameEvents.OnTurnStart.Execute(player); if (_turnQueue.Count > 0) { return; } TurnTimer.Instance.SetPlayer(player); if (player == ActivePlayer.Player && !_game.IsInMenu) { if (Config.Instance.FlashHsOnTurnStart) { User32.FlashHs(); } if (Config.Instance.BringHsToForeground) { User32.BringHsToForeground(); } } }
public static void HandleGameStart() { if (DateTime.Now - _lastGameStart < new TimeSpan(0, 0, 0, 5)) //game already started { return; } _lastGameStart = DateTime.Now; Logger.WriteLine("Game start", "GameEventHandler"); if (Config.Instance.FlashHsOnTurnStart) { User32.FlashHs(); } if (Config.Instance.BringHsToForeground) { User32.BringHsToForeground(); } if (Config.Instance.KeyPressOnGameStart != "None" && Helper.MainWindow.EventKeys.Contains(Config.Instance.KeyPressOnGameStart)) { SendKeys.SendWait("{" + Config.Instance.KeyPressOnGameStart + "}"); Logger.WriteLine("Sent keypress: " + Config.Instance.KeyPressOnGameStart, "GameEventHandler"); } _showedNoteDialog = false; Game.IsInMenu = false; Game.Reset(); var selectedDeck = DeckList.Instance.ActiveDeckVersion; if (selectedDeck != null) { Game.SetPremadeDeck((Deck)selectedDeck.Clone()); } GameEvents.OnGameStart.Execute(); }
public static void HandleGameStart() { //avoid new game being started when jaraxxus is played if (!Game.IsInMenu) { return; } Logger.WriteLine("Game start"); if (Config.Instance.FlashHsOnTurnStart) { User32.FlashHs(); } if (Config.Instance.BringHsToForeground) { User32.BringHsToForeground(); } if (Config.Instance.KeyPressOnGameStart != "None" && Helper.MainWindow.EventKeys.Contains(Config.Instance.KeyPressOnGameStart)) { SendKeys.SendWait("{" + Config.Instance.KeyPressOnGameStart + "}"); Logger.WriteLine("Sent keypress: " + Config.Instance.KeyPressOnGameStart); } Game.IsInMenu = false; Game.Reset(); }
public void HandleGameStart(DateTime timestamp) { if (_game.CurrentGameMode == Practice && !_game.IsInMenu && !_handledGameEnd && _lastGameStartTimestamp > DateTime.MinValue && timestamp > _lastGameStartTimestamp) { HandleAdventureRestart(); } _lastGameStartTimestamp = timestamp; if (DateTime.Now - _lastGameStart < new TimeSpan(0, 0, 0, 5)) //game already started { return; } _handledGameEnd = false; _lastGameStart = DateTime.Now; Log.Info("--- Game start ---"); if (Config.Instance.FlashHsOnTurnStart) { User32.FlashHs(); } if (Config.Instance.BringHsToForeground) { User32.BringHsToForeground(); } _lastTurnStart[0] = _lastTurnStart[1] = 0; _arenaRewardDialog = null; _showedNoteDialog = false; _game.IsInMenu = false; _savedReplay = false; _game.Reset(); _game.CacheMatchInfo(); _game.CacheGameType(); _game.CacheSpectator(); _game.MetaData.ServerInfo = Reflection.GetServerInfo(); if (!string.IsNullOrEmpty(_game.MetaData.ServerInfo?.Address)) { var region = Helper.GetRegionByServerIp(_game.MetaData.ServerInfo.Address); if (_game.CurrentRegion == Region.UNKNOWN || region == Region.CHINA) { _game.CurrentRegion = region; Log.Info("Set current region to" + region); } } TurnTimer.Instance.Start(_game).Forget(); var selectedDeck = DeckList.Instance.ActiveDeckVersion; if (selectedDeck != null) { _game.IsUsingPremade = true; } Core.Windows.CapturableOverlay?.UpdateContentVisibility(); GameEvents.OnGameStart.Execute(); LiveDataManager.WatchBoardState(); }
public void HandleGameStart(DateTime timestamp) { if (_game.CurrentGameMode == Practice && !_game.IsInMenu && !_handledGameEnd && _lastGameStartTimestamp > DateTime.MinValue && timestamp > _lastGameStartTimestamp) { HandleAdventureRestart(); } _lastGameStartTimestamp = timestamp; if (DateTime.Now - _lastGameStart < new TimeSpan(0, 0, 0, 5)) //game already started { return; } _handledGameEnd = false; _lastGameStart = DateTime.Now; Log.Info("--- Game start ---"); switch (Config.Instance.TurnStartAction) { case HsActionType.Flash: User32.FlashHs(); break; case HsActionType.Popup: User32.BringHsToForeground(); break; } _lastTurnStart[0] = _lastTurnStart[1] = 0; _arenaRewardDialog = null; _showedNoteDialog = false; _game.IsInMenu = false; _savedReplay = false; _game.Reset(); _game.CacheMatchInfo(); _game.CacheGameType(); _game.CacheSpectator(); _game.MetaData.ServerInfo = Reflection.GetServerInfo(); TurnTimer.Instance.Start(_game).Forget(); var selectedDeck = DeckList.Instance.ActiveDeckVersion; if (selectedDeck != null) { _game.IsUsingPremade = true; } Core.Windows.CapturableOverlay?.UpdateContentVisibility(); GameEvents.OnGameStart.Execute(); LiveDataManager.WatchBoardState(); }
public static void TurnStart(ActivePlayer player, int turnNumber) { Logger.WriteLine(string.Format("{0}-turn ({1})", player, turnNumber + 1), "LogReader"); //doesn't really matter whose turn it is for now, just restart timer //maybe add timer to player/opponent windows TurnTimer.Instance.SetCurrentPlayer(player); TurnTimer.Instance.Restart(); if (player == ActivePlayer.Player && !Game.IsInMenu) { if (Config.Instance.FlashHsOnTurnStart) { User32.FlashHs(); } if (Config.Instance.BringHsToForeground) { User32.BringHsToForeground(); } } }
public static void HandleGameStart(string playerHero) { //avoid new game being started when jaraxxus is played if (!Game.IsInMenu) { return; } Game.PlayingAs = playerHero; Logger.WriteLine("Game start"); if (Config.Instance.FlashHsOnTurnStart) { User32.FlashHs(); } if (Config.Instance.BringHsToForeground) { User32.BringHsToForeground(); } if (Config.Instance.KeyPressOnGameStart != "None" && Helper.MainWindow.EventKeys.Contains(Config.Instance.KeyPressOnGameStart)) { SendKeys.SendWait("{" + Config.Instance.KeyPressOnGameStart + "}"); Logger.WriteLine("Sent keypress: " + Config.Instance.KeyPressOnGameStart); } var selectedDeck = Helper.MainWindow.DeckPickerList.SelectedDeck; if (selectedDeck != null) { Game.SetPremadeDeck((Deck)selectedDeck.Clone()); } Game.IsInMenu = false; Game.Reset(); //select deck based on hero if (!string.IsNullOrEmpty(playerHero)) { if (!Game.IsUsingPremade || !Config.Instance.AutoDeckDetection) { return; } if (selectedDeck == null || selectedDeck.Class != Game.PlayingAs) { var classDecks = Helper.MainWindow.DeckList.DecksList.Where(d => d.Class == Game.PlayingAs).ToList(); if (classDecks.Count == 0) { Logger.WriteLine("Found no deck to switch to", "HandleGameStart"); } else if (classDecks.Count == 1) { Helper.MainWindow.DeckPickerList.SelectDeck(classDecks[0]); Logger.WriteLine("Found deck to switch to: " + classDecks[0].Name, "HandleGameStart"); } else if (Helper.MainWindow.DeckList.LastDeckClass.Any(ldc => ldc.Class == Game.PlayingAs)) { var lastDeckName = Helper.MainWindow.DeckList.LastDeckClass.First(ldc => ldc.Class == Game.PlayingAs).Name; Logger.WriteLine("Found more than 1 deck to switch to - last played: " + lastDeckName, "HandleGameStart"); var deck = Helper.MainWindow.DeckList.DecksList.FirstOrDefault(d => d.Name == lastDeckName); if (deck != null) { Helper.MainWindow.DeckPickerList.SelectDeck(deck); Helper.MainWindow.UpdateDeckList(deck); Helper.MainWindow.UseDeck(deck); } } } } }