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); }
/// <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); }
public void BeginTuto() { m_player.GetComponentInChildren <Animator>().runtimeAnimatorController = m_eightAnim[0]; CoroutineManager.Delay(TutoContinue, 1.5f); }