From 37d5b0415aa746e5e33e573979c2ed7cb44b0aa0 Mon Sep 17 00:00:00 2001 From: Ukendio Date: Wed, 24 Apr 2024 22:33:38 +0200 Subject: [PATCH] Handle 8 cases --- lib/init.lua | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/lib/init.lua b/lib/init.lua index 6f82207..7e1ee74 100644 --- a/lib/init.lua +++ b/lib/init.lua @@ -331,7 +331,7 @@ function World.query(world: World, ...: i53): (() -> (number, ...any)) | () -> ( local components = { ... } local archetypes = world.archetypes local queryLength = #components - local a, b, c, d, e = ... + local a, b, c, d, e, f, g, h = ... local firstArchetypeMap = world.componentIndex[components[1]] if not firstArchetypeMap then return noop() @@ -444,6 +444,33 @@ function World.query(world: World, ...: i53): (() -> (number, ...any)) | () -> ( columns[archetypeRecords[c]], columns[archetypeRecords[d]], columns[archetypeRecords[e]] + elseif queryLength == 6 then + return entityId, + columns[archetypeRecords[a]], + columns[archetypeRecords[b]], + columns[archetypeRecords[c]], + columns[archetypeRecords[d]], + columns[archetypeRecords[e]], + columns[archetypeRecords[f]] + elseif queryLength == 7 then + return entityId, + columns[archetypeRecords[a]], + columns[archetypeRecords[b]], + columns[archetypeRecords[c]], + columns[archetypeRecords[d]], + columns[archetypeRecords[e]], + columns[archetypeRecords[f]], + columns[archetypeRecords[g]] + elseif queryLength == 8 then + return entityId, + columns[archetypeRecords[a]], + columns[archetypeRecords[b]], + columns[archetypeRecords[c]], + columns[archetypeRecords[d]], + columns[archetypeRecords[e]], + columns[archetypeRecords[f]], + columns[archetypeRecords[g]], + columns[archetypeRecords[h]] end local queryOutput = {}