public override void TakeDamage(int damageAmount) { _audioPlayer.PlayAudioSource(); _enemyAnimatorHandler.PlayDamagedAnimation(); OnEnemyHit?.Invoke(); base.TakeDamage(damageAmount); }
public void TakeDamage(int damageTaken) { OnEnemyHit?.Invoke(); wasHit = true; if (GetComponent <DamageEffect>() != null) { GetComponent <DamageEffect>().Activate(); } // Display the amount of damage the player has dealt var damageNumberDisplay = Instantiate(damageNumberDisplayPrefab, transform.Find("Canvas")); // Randomly set the anchored X position var rectTransform = damageNumberDisplay.GetComponent <RectTransform>().anchoredPosition3D; rectTransform = new Vector3(Random.Range(rectTransform.x - 5f, rectTransform.x + 5f), 0f, 0f); damageNumberDisplay.GetComponent <RectTransform>().anchoredPosition3D = rectTransform; damageNumberDisplay.GetComponent <TextMeshProUGUI>().SetText($"-{damageTaken}"); // Update the damage text CurHp -= damageTaken; GameManager.Instance.playerUi.ToggleEnemyInfoPanel(true); GameManager.Instance.playerUi.UpdateEnemyInformationPanel(this); if (CurHp <= 0) { Die(); } }
public bool HitByEnemy(EnemyType enemyType) { if (movementType == MovementType.Run) { OnEnemyHit?.Invoke(); return(true); } return(false); }
private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Enemy")) { Enemy enemy = other.GetComponent <Enemy>(); if (enemy.EnemyHealth.CurrentHealth > 0f) { OnEnemyHit?.Invoke(enemy, damage); enemy.EnemyHealth.DealDamage(damage); } ObjectPooler.ReturnToPool(gameObject); } }
public void Hit(float damage) { OnEnemyHit.Invoke(damage); }
public static void ReportEnemyHit() { OnEnemyHit?.Invoke(); //Debug.Log("Enemy Hit Event"); }
public void OnEnemy() { OnEnemyHit?.Invoke(); }