From f87cfc4c5a334a5c6a8c29b980998aa70fc35b8e Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Thu, 25 Mar 2021 16:23:17 -0700 Subject: [PATCH] add another debug method --- encompass-cs/ComponentManager.cs | 13 ++++++++++++- encompass-cs/Renderer.cs | 14 +++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) 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 }