38 lines
950 B
C#
38 lines
950 B
C#
|
using UnityEngine;
|
|||
|
using Saltosion.OneWeapon.AI;
|
|||
|
|
|||
|
namespace Saltosion.OneWeapon {
|
|||
|
[RequireComponent(typeof(Rigidbody2D))]
|
|||
|
public class Enemy : MonoBehaviour {
|
|||
|
public float MoveSpeed;
|
|||
|
public BehaviourNode BehaviourTree;
|
|||
|
|
|||
|
private Rigidbody2D Body;
|
|||
|
private bool MovingToTarget = false;
|
|||
|
private Vector2 TargetPosition;
|
|||
|
|
|||
|
private void Start() {
|
|||
|
Body = GetComponent<Rigidbody2D>();
|
|||
|
}
|
|||
|
|
|||
|
private void Update() {
|
|||
|
BehaviourTree.Execute(this);
|
|||
|
}
|
|||
|
|
|||
|
private void FixedUpdate() {
|
|||
|
if (MovingToTarget) {
|
|||
|
Body.velocity = (TargetPosition - Body.position).normalized * MoveSpeed;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void StartMovingTo(Vector2 target) {
|
|||
|
TargetPosition = target;
|
|||
|
MovingToTarget = true;
|
|||
|
}
|
|||
|
|
|||
|
public void StopMoving() {
|
|||
|
MovingToTarget = false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|