// Invoke the GameLost event. private void OnGameLost(GameOverCause cause) { if (GameLost != null) { GameLost(cause); } }
public void EndGame(GameOverCause Cause) { GameOverState = new GameOverState() { Cause = Cause, PlayerScore = Map.Player.ScoreEntry, WonGame = Cause == GameOverCause.ShotWumpus }; RaiseGameOver(); }
private void AddNewReport(DateTime date, GameOverCause gameOverCause, ScenarioType scenarioType, Player winningPlayer, Force winForce, int winScore, Player losingPlayer, Force losingForce, int lossScore, List <Round> rounds) { context.Add(new Report { Date = date, GameOverCause = gameOverCause, Scenario = context.Scenarios.Single(s => s.ScenarioType == scenarioType), WinningPlayer = winningPlayer, WinScore = winScore, WinningForce = winForce, LosingPlayer = losingPlayer, LossScore = lossScore, LosingForce = losingForce, Rounds = rounds }); context.SaveChanges(); }
public void GameOver(GameOverCause gameOverCause) { switch (gameOverCause) { case GameOverCause.BOTH_LOSE: audioSource.clip = bothLoseClip; break; case GameOverCause.MUD_WINS: audioSource.clip = musWinsClip; break; case GameOverCause.SOAP_WINS: audioSource.clip = soapWinsClip; break; } audioSource.Play(); isGameOver = true; winner = gameOverCause; StartCoroutine("LoadGameOverScene"); }
public string MakeAnalysis(GameOverCause cause, CityDomain intialCityDomain, CityDomain currentCityDomain) { var sb = new StringBuilder() .Append("GAME OVER!") .Append(_lineSeparator); switch (cause) { case GameOverCause.PeopleDead: sb.Append(PeopleDeadAnalysis(currentCityDomain)); break; case GameOverCause.CameLastYear: sb.Append(LastYearCameAnalysis(intialCityDomain, currentCityDomain)); break; default: throw new ArgumentException("Need cause to over the game"); } return(sb.ToString()); }
// This function triggers the game over condition by invoking the GameLost event. public void GameOver(GameOverCause cause) { //Debug.Log("Game over! Cause: " + cause); OnGameLost(cause); }
internal void NewReportDataScreen() { players = CurrentPlayers(); rounds = new List <Round>(); //Date Console.WriteLine("Enter Date (yyyy/mm/dd)"); Console.Write("Input: "); date = DateTime.Parse(Console.ReadLine()); //Game Over Cause Console.WriteLine("\nSelect Game Over Cause"); int i = 1; foreach (var cause in (GameOverCause[])Enum.GetValues(typeof(GameOverCause))) { Console.WriteLine($"[{i}] {cause.ToString()}"); i++; } i = 1; Console.Write("Input: "); gameOverCause = (GameOverCause)Input.GetDigit(); //Scenario Console.WriteLine("\n\nSelect Scenario:"); foreach (var type in (ScenarioType[])Enum.GetValues(typeof(ScenarioType))) { Console.WriteLine($"[{i}] {type.ToString()}"); i++; } i = 1; Console.Write("Input: "); scenarioType = (ScenarioType)Input.GetDigit(); //Winning player Console.WriteLine("\n\nSelect winning player"); foreach (var player in players) { Console.WriteLine($"[{i}] {player.Name}"); i++; } i = 1; Console.Write("Input: "); winningPlayer = players[Input.GetDigit() - 1]; //Winning force Console.WriteLine("\n\nSelect winning force"); foreach (var force in winningPlayer.Forces) { Console.WriteLine($"[{i}] {force.Name}"); i++; } i = 1; Console.Write("Input: "); winningForce = winningPlayer.Forces[Input.GetDigit() - 1]; //Win score Console.WriteLine("\n\nEnter Win Score"); Console.Write("Input: "); winScore = int.Parse(Console.ReadLine()); //Losing player Console.WriteLine("\n\nSelect losing player"); foreach (var player in players) { if (player != winningPlayer) { Console.WriteLine($"[{i}] {player.Name}"); i++; } } i = 1; Console.Write("Input: "); losingPlayer = players[Input.GetDigit() - 1]; //Losing force Console.WriteLine("\n\nSelect losing force"); foreach (var force in losingPlayer.Forces) { Console.WriteLine($"[{i}] {force.Name}"); i++; } i = 1; Console.Write("Input: "); losingForce = losingPlayer.Forces[Input.GetDigit() - 1]; //Loss score Console.WriteLine("\n\nEnter Loss Score"); Console.Write("Input: "); lossScore = int.Parse(Console.ReadLine()); //Rounds Console.WriteLine("\n\nEnter number of rounds"); Console.Write("Input: "); numberOfRounds = int.Parse(Console.ReadLine()); for (int j = 1; j < numberOfRounds + 1; j++) { Console.Write($"Round #{j} comments: "); rounds.Add(new Round() { Number = j, Comment = Console.ReadLine() }); } GenerateNewReport(date, gameOverCause, scenarioType, winningPlayer, winningForce, winScore, losingPlayer, losingForce, lossScore, rounds); }
void gameOver(GameOverCause cause) { }
protected override void OnVictory(GameOverCause cause) { }
protected override void OnDefeat(GameOverCause cause) { }