diff --git a/encompass-cs/ComponentManager.cs b/encompass-cs/ComponentManager.cs index 2c3c119..961fb5a 100644 --- a/encompass-cs/ComponentManager.cs +++ b/encompass-cs/ComponentManager.cs @@ -296,7 +296,7 @@ namespace Encompass // should be used for debugging only! #if DEBUG - internal IEnumerable Components(int entityID) + internal IEnumerable Debug_Components(int entityID) { foreach (var typeIndex in ExistingBits.EntityBitArray(entityID).TrueIndices()) { @@ -305,6 +305,17 @@ namespace Encompass yield return generic.Invoke(this, new object[] { entityID }); } } + + internal IEnumerable Debug_SearchComponentType(string typeString) + { + foreach (var type in TypeToIndex.Keys) + { + if (type.ToString().Contains(typeString)) + { + yield return type; + } + } + } #endif } } diff --git a/encompass-cs/Renderer.cs b/encompass-cs/Renderer.cs index 6b62798..658ab36 100644 --- a/encompass-cs/Renderer.cs +++ b/encompass-cs/Renderer.cs @@ -68,7 +68,19 @@ namespace Encompass #if DEBUG protected IEnumerable Debug_GetAllComponents(Entity entity) { - return _componentManager.Components(entity.ID); + return _componentManager.Debug_Components(entity.ID); + } + + protected IEnumerable Debug_Entities(Type componentType) + { + var method = typeof(Renderer).GetMethod(nameof(ReadEntitiesAsEnumerable), System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + var generic = method.MakeGenericMethod(componentType); + return (IEnumerable)generic.Invoke(this, null); + } + + protected IEnumerable Debug_SearchComponentType(string typeString) + { + return _componentManager.Debug_SearchComponentType(typeString); } #endif }