private void RemoveShark(GameState game, SharkManager shark) { shark.OnSolved -= Shark_OnSolved; shark.OnFailed -= Shark_OnFailed; shark.Dispose(); game.Sharks.Remove(shark); }
private void AddShark(GameState game) { var height = _random.Next(0, 80); var wordSet = GetWordSet(game.Sharks.Count, game.GameDto.IsEasy); var word = GetRandomWord(wordSet); var baseSecondsToSolve = GetBaseSecondsToSolve(game.Sharks.Count, game.GameDto.IsEasy); var secondsToSolve = baseSecondsToSolve + _random.Next(3, 5); var shark = new SharkManager(game, word, height, secondsToSolve); shark.OnSolved += Shark_OnSolved; shark.OnFailed += Shark_OnFailed; game.Sharks.Add(shark); shark.StartTimer(); InvokeSharkAddedEvent(game, shark); }
private static SharkChangedEventArgs GetSharkChangedEventArgs(GameState game, SharkManager shark) { var sharkAddedEventArgs = new SharkChangedEventArgs { SharkDto = shark.SharkDto, GameId = game?.GameDto?.Id ?? 0 }; return(sharkAddedEventArgs); }
private void InvokeSharkAddedEvent(GameState game, SharkManager shark) { var sharkAddedEventArgs = GetSharkChangedEventArgs(game, shark); _gameEngineEventHandler.SharkAdded(sharkAddedEventArgs); }