Exemple #1
0
    private IEnumerator TransitionToNightmare(Nightmatrix nightmatrix, float multiplier = 1f)
    {
        platformerPhase.gameObject.SetActive(false);

        Vector3 movement = GetMovement(platformerPhase.transform.position, nightmatrix);

        yield return(MoveTransitionEffect(platformerPhase.transform, movement * multiplier, false, nightmatrix.transform));

        shooterPhase.transform.position = transitionEffect.transform.position;
        if (Physics2D.CircleCast(transitionEffect.transform.position, .1f, Vector2.one, .1f, 1 << LayerMask.NameToLayer("Ground")))
        {
            if (movement != Vector3.zero)
            {
                StartCoroutine(TransitionToDream(nightmatrix, 1.5f));
            }
            else
            {
                shooterPhase.gameObject.SetActive(true);
                Die();
            }
        }
        else
        {
            shooterPhase.gameObject.SetActive(true);
            targetTransform = shooterPhase.transform;
            cameraPriorityManager.SetFocus(CameraPriorityManager.GameState.Shooter);

            shooterPhase.SwitchIn(nightmatrix.transform.position, nightmatrix.GetComponent <Nightmatrix>());
        }
    }