private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Enemy") { if (IN.IsInvincible) { } else { SoundManager.PlaySound("Getting Hurt"); health -= 1; IN.ActivateInvulnerability(); spriteDmg.color = RedHurt; StartCoroutine(colorSwap()); spriteDmg.color = normal; } KB.KnockBack(); if (health <= 0) { restartHP(); transform.position = GameManager.Instance.lastCheckPointPos; SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } } if (collision.gameObject.tag == "Boss") { if (IN.IsInvincible) { } else { SoundManager.PlaySound("Getting Hurt"); health -= 1; IN.ActivateInvulnerability(); spriteDmg.color = RedHurt; StartCoroutine(colorSwap()); spriteDmg.color = normal; } KB.KnockBack(); if (health <= 0) { restartHP(); transform.position = GameManager.Instance.lastCheckPointPos; SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } } }
void OnTriggerEnter2D(Collider2D target) { if (target.gameObject.tag == targetTag) { StartCoroutine(knockBack.KnockBack(0.001f, 1f)); } }
public void TakeDamage(float damageTaken, GameObject damageGiver) { if (invulnerable) { return; } StartCoroutine(IFrames()); currHealth -= damageTaken; SoundsManager.instance.PlayClip(SoundsManager.Sound.PlayerDamaged); DamageTaken?.Invoke(); if (currHealth <= 0f) { Destroy(); } else { Knockback kB = GetComponent <Knockback>(); if (kB != null) { StartCoroutine(kB.KnockBack(damageGiver.gameObject.transform)); GetComponent <PlayerMovement>().ChangeState(PlayerState.Stagger); } } }
public void Damage(float damage, Entity attacker) { health -= damage; Game.Slow(); Game.ShowHit(0.5f * (transform.position + attacker.transform.position)); knockback.KnockBack(damage * 30f, attacker); if (onDamage != null) { onDamage(); } if (health <= 0) { Die(); } }
public void TakeDamage(float damageTaken, GameObject damageGiver) { currHealth -= damageTaken; if (currHealth <= 0f) { Destroy(); } else { Knockback kB = GetComponent <Knockback>(); if (kB != null) { ChangeState(EnemyState.Stagger); StartCoroutine(kB.KnockBack(damageGiver.transform)); } } }