diff --git a/encompass-cs/Engine.cs b/encompass-cs/Engine.cs index e0114d7..6ea51d0 100644 --- a/encompass-cs/Engine.cs +++ b/encompass-cs/Engine.cs @@ -223,7 +223,18 @@ namespace Encompass var existingRead = receiveTypes.Contains(typeof(ComponentMessage)); if (existingRead && pendingRead) { - return componentMessageManager.ReadPendingComponentByEntityAndType(entity); + if (componentMessageManager.HasPendingComponent(entity)) + { + return componentMessageManager.ReadPendingComponentByEntityAndType(entity); + } + else if (componentMessageManager.HasExistingComponent(entity)) + { + return componentMessageManager.ReadExistingComponentByEntityAndType(entity); + } + else + { + throw new NoComponentOfTypeOnEntityException("No Component of type {0} exists on Entity {1}", typeof(TComponent).Name, entity.ID); + } } else if (existingRead) {