private void AttackTarget(PlayerController targetPlayer) { if (!targetPlayer) { return; } if (!movement) { return; } attackTimer -= Time.deltaTime; if (attackTimer <= 0f) { movement.Attack(() => { if (Stats.IsDead || !Target || !targetPlayer) { Target = null; return; } var damage = GameMath.CalculateMeleeDamage(this, targetPlayer); if (targetPlayer.TakeDamage(this, (int)damage)) { Target = null; } }); attackTimer = attackInterval; } }
private void Attack() { attackTimer = attackInterval; var damage = GameMath.CalculateMeleeDamage(enemyController, target); if (animator) { animator.SetInteger("AttackType", Random.Range(0, 4)); animator.SetTrigger("AttackTrigger"); } target.TakeDamage(enemyController, (int)damage); }