Exemple #1
0
    public void OnExitRound()
    {
        if (GameManager.Instance.ScoreManager.Score != GameManager.Instance.ScoreManager.LimitBlocksInRound && State != StateGame.WIN_STATE)
        {
            GameManager.Instance.ScoreManager.Stage = 1;
            State = StateGame.LOSE_ROUND;

            Vibration.Lose();
        }

        _block.Collision.EventNextBlock -= OnNextBlock;
        _block.Movement.EventExit       -= OnExitRound;

        foreach (var remainder in GameManager.Instance.Remainders)
        {
            Destroy(remainder.gameObject);
        }

        GameManager.Instance.Remainders.Clear();

        GameManager.Instance.Base.GetComponentInChildren <BlockCollisionBase>().Collision = BlockCollisionBase.TypeCollision.Second;

        GameManager.Instance.BackgroundGroundFX.Stop();

        if (GameManager.Instance.ScoreManager.Score != GameManager.Instance.ScoreManager.LimitBlocksInRound)
        {
            Destroy(_block.gameObject);
        }

        StartCoroutine(WaitDel());
    }