From df4a953628332e89a5edd82b936a9d3c7c0309cb Mon Sep 17 00:00:00 2001 From: Evan Hemsley <2342303+ehemsley@users.noreply.github.com> Date: Wed, 25 Mar 2020 11:52:42 -0700 Subject: [PATCH] remove unnecessary lookup checks --- encompass-cs/Collections/ComponentStore.cs | 3 +-- encompass-cs/WorldBuilder.cs | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/encompass-cs/Collections/ComponentStore.cs b/encompass-cs/Collections/ComponentStore.cs index fc20a17..3f35b4b 100644 --- a/encompass-cs/Collections/ComponentStore.cs +++ b/encompass-cs/Collections/ComponentStore.cs @@ -29,7 +29,6 @@ namespace Encompass private TypedComponentStore Lookup() where TComponent : struct { - RegisterComponentType(); return _stores[typeof(TComponent)] as TypedComponentStore; } @@ -40,7 +39,7 @@ namespace Encompass public bool Has(Type type, int entityID) { - return _stores.ContainsKey(type) && _stores[type].Has(entityID); + return _stores[type].Has(entityID); } public BitSet512 EntityBitArray(int entityID) diff --git a/encompass-cs/WorldBuilder.cs b/encompass-cs/WorldBuilder.cs index 9295844..dbcebcd 100644 --- a/encompass-cs/WorldBuilder.cs +++ b/encompass-cs/WorldBuilder.cs @@ -408,6 +408,10 @@ namespace Encompass var method = typeof(WorldBuilder).GetMethod("RegisterComponentType", BindingFlags.NonPublic | BindingFlags.Instance); var generic = method.MakeGenericMethod(componentType); generic.Invoke(this, null); + + var dummyRegisterMethod = typeof(ComponentManager).GetMethod("RegisterComponentType", BindingFlags.Public | BindingFlags.Instance); + var dummyGeneric = dummyRegisterMethod.MakeGenericMethod(componentType); + dummyGeneric.Invoke(dummyComponentManager, null); } if (componentType.GetInterface("IDrawableComponent") != null)