Exemple #1
0
    void EndGame()
    {
        EndGameType eg = EndGameType.NormalEnding;

        if (processList[(int)Process.CarAccident])
        {
            eg = EndGameType.ArtistEnding;
        }
        if (processList[(int)Process.Bridge])
        {
            eg = EndGameType.DeadEnding;
        }
        if (countHuman() > 2)
        {
            eg = EndGameType.BadEnding;
        }


        endGameSpriteList[(int)eg].color =
            Global.getAlphaColor(endGameSpriteList[(int)eg].color, 0);

        DOTween.To(() => endGameSpriteList[(int)eg].color,
                   c => endGameSpriteList[(int)eg].color = c,
                   Global.getAlphaColor(endGameSpriteList[(int)eg].color, 1f),
                   2f);

        DOTween.To(() => endGameText.color,
                   c => endGameText.color = c,
                   Global.getAlphaColor(endGameText.color, 1f),
                   2f);
    }
Exemple #2
0
    public void EndGame(EndGameType type)
    {
        if (EndedGame)
        {
            return;
        }

        switch (type)
        {
        case EndGameType.WinWithCheck:
            if (PinCount != 0)
            {
                return;
            }
            ColoredBackground.color = Color.green;
            break;

        case EndGameType.Win:
            ColoredBackground.color = Color.green;
            break;

        case EndGameType.Lose:
            ColoredBackground.color = Color.red;
            break;
        }
        StartCoroutine(LoadScene(2f));
        EndedGame         = true;
        rotator.CanRotate = false;
        ColoredBackground.GetComponent <Animator>().SetTrigger("EndGame");
    }
Exemple #3
0
        private void EndGameStat(EndGameType type)
        {
            if (ConnectionHelper.IsConnected)
            {
                try
                {
                    _userPointsManager.Endgame(type == EndGameType.Won);

                    // Can only add score for quick game (because we know the total point)
                    if (IsQuickGame())
                    {
                        LeaderboardAccess.Instance.AddLeaderEntry(Model.ZonesHashId.FirstOrDefault(), new LeaderModel()
                        {
                            PlayerHashId = Profile.Instance.CurrentProfile.UserHashId,
                            PlayerName   = Profile.Instance.CurrentProfile.Username,
                            Points       = _userPointsManager.GetMyPoints()
                        });
                    }
                }
                catch (Exception)
                {
                    // ignored
                }
            }
        }
 // Use this for initialization
 void Start()
 {
     if (GameSystem.instance)
     {
         if (GameSystem.instance.isWin)
         {
             endgameType = EndGameType.EndGame_Win;
             EndGame_Win.SetActive(true);
             ShowPnlMenu();
             btnNext.SetActive(true);
         }
         else if (GameSystem.instance.isLoose50)
         {
             endgameType = EndGameType.EndGame_50Lose;
             EndGame_50Lose.SetActive(true);
             Invoke("ShowPnlMenu", 2.1f);
             btnRetry.SetActive(true);
         }
         else if (GameSystem.instance.isLoose)
         {
             endgameType = EndGameType.EndGame_LoseDie;
             EndGame_LoseDie.SetActive(true);
             ShowPnlMenu();
             btnRetry.SetActive(true);
         }
     }
 }
 /// <summary>
 /// Show Message to the user explaining the cause of the termination
 /// </summary>
 /// <param name="cause"></param>
 public static void ExplainCauseToUser(EndGameType cause)
 {
     switch (cause)
     {
     case EndGameType.Forfeit:
         MessageHelper.ShowMessage("Le bal est fini!", "Le reine de la place a quitté rageusement la place!");
         break;
     }
 }
Exemple #6
0
    public void EndGame(EndGameType type)
    {
        m_gameState = GameState.End;

        m_TimeScaleRef = Time.timeScale;
        Time.timeScale = 0.0f;

        Cursor.visible   = true;
        Cursor.lockState = CursorLockMode.None;

        m_endMenu.SetActive(true);

        foreach (Transform t in this.transform.GetComponentsInChildren <Transform>())
        {
            if (t.name.CompareTo("TextEndState") == 0)
            {
                m_textEndState = t.GetComponent <Text> ();
            }
            else if (t.name.CompareTo("TextEndScore") == 0)
            {
                m_textEndScore = t.GetComponent <Text> ();
            }
            else if (t.name.CompareTo("TextEndRank") == 0)
            {
                m_textEndRank = t.GetComponent <Text> ();
            }
            else if (t.name.StartsWith("TextTopName"))
            {
                int index = int.Parse(t.name.Replace("TextTopName", ""));
                m_textTopName[index - 1] = t.GetComponent <Text> ();
            }
            else if (t.name.StartsWith("TextTopScore"))
            {
                int index = int.Parse(t.name.Replace("TextTopScore", ""));
                m_textTopScore[index - 1] = t.GetComponent <Text> ();
            }
        }

        if (type == EndGameType.Death)
        {
            m_textEndState.text = "你已死亡";
        }
        else if (type == EndGameType.Timeout)
        {
            m_textEndState.text = "时间已到";
        }

        Player m_player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player> ();

        m_textEndScore.text = m_player.m_score.ToString();

        StartCoroutine(EndPost());
    }
Exemple #7
0
 public void EndGame(EndGameType endType)
 {
     AnalyticsData.TrackEndGame(endType, GameTurn, GameController.I.GameTime, score);
     if (endType == EndGameType.Win)
     {
         if (GameMode != GameModeType.Endless)
         {
             // FINISH LEVEL?
         }
     }
     CurrentState = GameState.EndScreen;
     EndMenuController.I.ShowEndMenu(endType);
 }
Exemple #8
0
        /// <summary>
        /// Ends the current game.
        /// </summary>
        /// <param name="player">The player that has won/lost.</param>
        /// <param name="type">The result of the game (win/loss).</param>
        public virtual void EndGame(PlayerInfo player, EndGameType type)
        {
            gameFinished = true;
            var msg = new EndGameMessage();

            switch (type)
            {
            case EndGameType.Win:
                msg.winnerPlayerIndex = player.netId;
                break;

            case EndGameType.Loss:
                msg.winnerPlayerIndex = gameState.players.Find(x => x != player).netId;
                break;
            }
            NetworkServer.SendToAll(NetworkProtocol.EndGame, msg);
        }
Exemple #9
0
        /// <summary>
        /// Method called when the game is ended (not yet exited)
        /// </summary>
        /// <param name="type"></param>
        public void EndGame(EndGameType type)
        {
            switch (type)
            {
            case EndGameType.Dead:
                if (IsSpectator())
                {
                    MessageHelper.ShowMessage("Vous êtes belle!", "En ne faisant que regarder, vous avez vue votre prince-charmant partir dans le carosse de la belle rouqine avec des éphélides");
                }
                else
                {
                    // The game can't be won
                    if (IsQuickGame() && Model.IsCoop)
                    {
                        MessageHelper.ShowMessage("Belle performance", $"Vous avez bien dansé, votre prince charmant vous donne un pointage de {_userPointsManager.GetMyPoints()}!");
                    }
                    else
                    {
                        MessageHelper.ShowMessage("Défaite", "Oh non! Votre affreuse belle-soeur a séduit votre prince charmant!!!");
                    }
                }
                break;

            case EndGameType.Won:
                MessageHelper.ShowMessage("Victoire", "Magnifique! Gagner vous a donné de la victoire!!!");
                break;

            case EndGameType.Disconnect:
                break;

            case EndGameType.Forfeit:
                EventManager.Instance.Interrupt(new PlayerForfeitEvent(Profile.Instance.CurrentProfile.UserHashId));
                if (IsHost)
                {
                    EventManager.Instance.Interrupt(new EndOnlineGameEvent()
                    {
                        EndCause = EndGameType.Forfeit
                    });
                }
                break;
            }
            EndGameStat(type);
        }
 public void EndGame(EndGameType type)
 {
     // Manage stats and achievements related to the game
     _userPointsManager.Endgame();
 }
Exemple #11
0
 public EndGameEvent(EndGameType type, bool returnMenu = true)
 {
     Info = type;
 }
 private void EndGame(EndGameType type)
 {
     _currentGame?.EndGame(type);
 }
Exemple #13
0
 public EndGameSignal(EndGameType endGameType)
 {
     EndGameType = endGameType;
 }