From f927f86d43284872e2d3af79b87a33c800fa4f50 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 15 Jul 2015 20:25:01 -0600 Subject: [PATCH] Raise PathComplete event from IMobEntity ...when the current path is completed --- TrueCraft.API/Entities/IMobEntity.cs | 3 ++- TrueCraft.Core/Entities/MobEntity.cs | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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; } }