diff --git a/encompass-cs/Collections/MessageStore.cs b/encompass-cs/Collections/MessageStore.cs index 9fb586a..5e7186f 100644 --- a/encompass-cs/Collections/MessageStore.cs +++ b/encompass-cs/Collections/MessageStore.cs @@ -53,6 +53,11 @@ namespace Encompass return Lookup().WithEntity(entityID); } + public bool SomeWithEntity(int entityID) where TMessage : struct, IMessage, IHasEntity + { + return Lookup().SomeWithEntity(entityID); + } + public void ProcessDelayedMessages(double dilatedDelta, double realtimeDelta) { foreach (var store in Stores.Values) diff --git a/encompass-cs/Collections/TypedMessageStore.cs b/encompass-cs/Collections/TypedMessageStore.cs index 54aebe6..bfa7a8b 100644 --- a/encompass-cs/Collections/TypedMessageStore.cs +++ b/encompass-cs/Collections/TypedMessageStore.cs @@ -93,6 +93,11 @@ namespace Encompass return entityToMessage.ContainsKey(entityID) ? entityToMessage[entityID] : System.Linq.Enumerable.Empty(); } + public bool SomeWithEntity(int entityID) + { + return entityToMessage.ContainsKey(entityID) && entityToMessage[entityID].Count > 0; + } + public override void Clear() { store.Clear(); diff --git a/encompass-cs/Engine.cs b/encompass-cs/Engine.cs index aca9b61..e546e5c 100644 --- a/encompass-cs/Engine.cs +++ b/encompass-cs/Engine.cs @@ -658,6 +658,11 @@ namespace Encompass return messageManager.WithEntity(entity.ID); } + protected bool SomeMessageWithEntity(Entity entity) where TMessage : struct, IMessage, IHasEntity + { + return messageManager.SomeWithEntity(entity.ID); + } + internal void CheckAndUpdateTracking(int entityID) { if (_trackedEntities.Contains(entityID) && !entityQuery.CheckEntity(entityID, componentManager.ExistingBits)) diff --git a/encompass-cs/MessageManager.cs b/encompass-cs/MessageManager.cs index 1256946..3876f03 100644 --- a/encompass-cs/MessageManager.cs +++ b/encompass-cs/MessageManager.cs @@ -56,5 +56,10 @@ namespace Encompass { return messageStore.WithEntity(entityID); } + + internal bool SomeWithEntity(int entityID) where TMessage : struct, IMessage, IHasEntity + { + return messageStore.SomeWithEntity(entityID); + } } }