Hallo allesamt, ich mache aktuell ein 2D-Spiel und habe in meiner "Enemy"-Klasse eine Funktion namens "TakeDamage()" geschrieben, mit dessen Hilfe der Gegner Schaden nehmen und auch sterben können soll. Ich will diese entsprechend immer ausführen, wenn der Spieler einen Gegner in seiner Reichweite attackiert.

Aber genau bei diesem Ausführen kommt die Fehlermeldung:

Für das nicht statische Feld, die Methode oder die Eigenschaft Enemy.TakeDamage(float)" ist ein Objektverweis erforderlich.

Hier ist das Skript von der Funktion:

public void TakeDamage(float amount)
{
  currentHealth -= amount;

  if (currentHealth <= 0)
  {
    Destroy(this.gameObject, deathTime);
    Debug.Log("Enemy died");
  }

  Debug.Log("Enemy took damage");
}

Und hier das Skript für die Attack()-Funktion, in der ich das obige nutzen will:

void Attack()
{
  anim.SetTrigger("attacking");
  Collider2D[] touchedEnemies = Physics2D.OverlapCircleAll(attackPoint.position, attackRange, enemyLayer);

  foreach(Collider2D enemy in touchedEnemies)
  {
    Enemy.TakeDamage(30f);
    Debug.Log("We hit " + enemy.name);
  }
}

Jegliche Hilfe würde ich herzlichst begrüßen. Danke im Voraus und einen schönen Tag. 😉