Ejemplo n.º 1
0
 // Invoke the GameLost event.
 private void OnGameLost(GameOverCause cause)
 {
     if (GameLost != null)
     {
         GameLost(cause);
     }
 }
Ejemplo n.º 2
0
        public void EndGame(GameOverCause Cause)
        {
            GameOverState = new GameOverState()
            {
                Cause       = Cause,
                PlayerScore = Map.Player.ScoreEntry,
                WonGame     = Cause == GameOverCause.ShotWumpus
            };

            RaiseGameOver();
        }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
    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");
    }
Ejemplo n.º 5
0
        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());
        }
Ejemplo n.º 6
0
 // 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);
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 void gameOver(GameOverCause cause)
 {
 }
Ejemplo n.º 9
0
 protected override void OnVictory(GameOverCause cause)
 {
 }
Ejemplo n.º 10
0
 protected override void OnDefeat(GameOverCause cause)
 {
 }