diff --git a/TrueCraft.API/Entities/IMobEntity.cs b/TrueCraft.API/Entities/IMobEntity.cs index 0646b1a..563ae78 100644 --- a/TrueCraft.API/Entities/IMobEntity.cs +++ b/TrueCraft.API/Entities/IMobEntity.cs @@ -5,8 +5,9 @@ namespace TrueCraft.API.Entities { public interface IMobEntity : IEntity, IAABBEntity { + event EventHandler PathComplete; PathResult CurrentPath { get; set; } bool AdvancePath(TimeSpan time, bool faceRoute = true); void Face(Vector3 target); } -} \ No newline at end of file +} diff --git a/TrueCraft.Core/Entities/MobEntity.cs b/TrueCraft.Core/Entities/MobEntity.cs index 27c879b..29ff2cf 100644 --- a/TrueCraft.Core/Entities/MobEntity.cs +++ b/TrueCraft.Core/Entities/MobEntity.cs @@ -19,6 +19,8 @@ namespace TrueCraft.Core.Entities CurrentState = new WanderState(); } + public event EventHandler PathComplete; + public override IPacket SpawnPacket { get @@ -124,7 +126,9 @@ namespace TrueCraft.Core.Entities CurrentPath.Index++; if (CurrentPath.Index >= CurrentPath.Waypoints.Count) { - CurrentPath = null; // TODO: Raise path complete event or something? + CurrentPath = null; + if (PathComplete != null) + PathComplete(this, null); return true; } }