예제 #1
0
    private void Death()
    {
        Source.PlayOneShot(OnDeath);

        if (m_animator != null && m_animator.runtimeAnimatorController != null)
        {
            m_animator.SetBool("isDead", true);
        }

        Collider2D[] colliders = GetComponents <Collider2D>();
        foreach (Collider2D collider in colliders)
        {
            collider.enabled = false;
        }

        GetComponent <PlayerHealth>().ForceStopInvisibility();

        //*
        m_rigidBody.gravityScale = 0;
        m_rigidBody.velocity     = Vector2.zero;//*/

        m_spriteRenderer.color = new Color(m_spriteRenderer.color.r, m_spriteRenderer.color.g, m_spriteRenderer.color.b, 0.25f);

        m_cameraManager.FollowPlayer(false);

        DisableMovement();

        CoroutineManager.Delay(() => { m_rigidBody.velocity = Vector2.up; }, 1.0f);
        CoroutineManager.Delay(() => LevelManager.Instance.LoadLevel(LevelManager.CurrentLevel, false, true), 2.5f);
        CoroutineManager.Delay(DisableMovement, 2.5f);
        CoroutineManager.Delay(EnableMovement, 3.5f);
    }
예제 #2
0
    /// <summary>
    /// Called by Unity when a collision is triggered.
    /// </summary>
    /// <param name="collision">Collision info.</param>
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("Player"))
        {
            if (Mathf.Abs(Vector2.Angle(collision.GetComponent <Rigidbody2D>().velocity, Vector2.down)) > 80f)
            {
                return;
            }

            GetComponent <AudioSource>().Play();

            collision.gameObject.GetComponent <PlayerManager>().Jump(200, true);
            GetComponent <BoxCollider2D>().enabled = false;
            GetComponentInParent <EnemyManager>().Death();

            CoroutineManager.Delay(() => Destroy(m_enemyGO), 3.0f);
        }
    }
    /// <summary>
    /// Call this to cut the dialog animation to the end.
    /// </summary>
    public void AbortAnimation()
    {
        m_AbortAnimation = true;

        CoroutineManager.Delay(AbortBehaviour, m_ReadingSpeed);
    }
예제 #4
0
    public void BeginTuto()
    {
        m_player.GetComponentInChildren <Animator>().runtimeAnimatorController = m_eightAnim[0];

        CoroutineManager.Delay(TutoContinue, 1.5f);
    }