private void EnemyMain_OnDamaged(object sender, EnemyMain.OnDamagedEventArgs e) { Vector3 bloodDir = (GetPosition() - e.attacker.GetPosition()).normalized; BloodParticleSystemHandler.Instance.SpawnBlood(5, GetPosition(), bloodDir); int damageAmount = Mathf.RoundToInt(30 * e.damageMultiplier * UnityEngine.Random.Range(.8f, 1.2f)); DamagePopup.Create(GetPosition(), damageAmount, false); enemyMain.HealthSystem.Damage(damageAmount); //Sound_Manager.PlaySound(Sound_Manager.Sound.BodyHit_1, GetPosition()); if (enemyMain.HealthSystem.IsDead()) { FlyingBody.Create(GameAssets.i.pfEnemyFlyingBody, GetPosition(), bloodDir); enemyMain.DestroySelf(); Sound_Manager.PlaySound(Sound_Manager.Sound.Minion_Dead, GetPosition()); } else { // Knockback enemyMain.EnemyRigidbody2D.MovePosition(transform.position + bloodDir * 5f); } }
private void EnemyMain_OnDamaged(object sender, EnemyMain.OnDamagedEventArgs e) { Vector3 bloodDir = (GetPosition() - e.attacker.GetPosition()).normalized; Blood_Handler.SpawnBlood(5, GetPosition(), bloodDir); enemyMain.HealthSystem.Damage(Mathf.RoundToInt(30 * e.damageMultiplier)); if (enemyMain.HealthSystem.IsDead()) { //FlyingBody.Create(GameAssets.i.pfEnemyFlyingBody, GetPosition(), bloodDir); enemyMain.DestroySelf(); } }