Shoot-N-Slash/Assets/Scripts/Entities/Enemy.cs

29 lines
862 B
C#

using System;
using UnityEngine;
public class Enemy : AutoControlledEntity
{
private void FixedUpdate()
{
if (!stats.isStalled)
{
Vector2 direction = new Vector2(0, stats.rb.linearVelocityY);
if (closestEntity && Vector3.Distance(closestEntity.transform.position, transform.position) < maxTargettingRange)
{
direction.x = (closestEntity.transform.position - transform.position).normalized.x * stats.speed;
if ((closestEntity.transform.position.y - transform.position.y > maxHeightDifference || (DetectWalls() && Vector3.Distance(closestEntity.transform.position, transform.position) > minTargetJumpDistance)) && stats.OnGround())
{
direction.y = stats.jumpPower;
}
}
FlipSprite(direction);
stats.rb.linearVelocity = direction;
}
}
public override void OnDeath()
{
base.OnDeath();
Destroy(gameObject);
}
}