mirror of
				https://github.com/Ukendio/jecs.git
				synced 2025-10-31 09:09:18 +00:00 
			
		
		
		
	feedback acquired
This commit is contained in:
		
							parent
							
								
									1e53fdc955
								
							
						
					
					
						commit
						bee330c9a5
					
				
					 1 changed files with 7 additions and 13 deletions
				
			
		
							
								
								
									
										20
									
								
								lib/init.lua
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								lib/init.lua
									
									
									
									
									
								
							|  | @ -362,7 +362,7 @@ function World.remove(world: World, entityId: i53, componentId: i53) | |||
| end | ||||
| 
 | ||||
| -- Keeping the function as small as possible to enable inlining | ||||
| local function get(_componentIndex: {[i24]: ArchetypeMap}, record: Record, componentId: i24) | ||||
| local function get(record: Record, componentId: i24) | ||||
| 	local archetype = record.archetype | ||||
| 	local archetypeRecord = archetype.records[componentId] | ||||
| 
 | ||||
|  | @ -375,22 +375,21 @@ end | |||
| 
 | ||||
| function World.get(world: World, entityId: i53, a: i53, b: i53?, c: i53?, d: i53?, e: i53?) | ||||
| 	local id = entityId | ||||
| 	local componentIndex = world.componentIndex | ||||
| 	local record = world.entityIndex[id] | ||||
| 	if not record then | ||||
| 		return nil | ||||
| 	end | ||||
| 
 | ||||
| 	local va = get(componentIndex, record, a) | ||||
| 	local va = get(record, a) | ||||
| 
 | ||||
| 	if b == nil then | ||||
| 		return va | ||||
| 	elseif c == nil then | ||||
| 		return va, get(componentIndex, record, b) | ||||
| 		return va, get(record, b) | ||||
| 	elseif d == nil then | ||||
| 		return va, get(componentIndex, record, b), get(componentIndex, record, c) | ||||
| 		return va, get(record, b), get(record, c) | ||||
| 	elseif e == nil then | ||||
| 		return va, get(componentIndex, record, b), get(componentIndex, record, c), get(componentIndex, record, d) | ||||
| 		return va, get(record, b), get(record, c), get(record, d) | ||||
| 	else | ||||
| 		error("args exceeded") | ||||
| 	end | ||||
|  | @ -447,7 +446,7 @@ function World.query(world: World, ...: i53): Query | |||
| 				skip = true | ||||
| 				break | ||||
| 			end | ||||
| 			indices[i] = archetypeRecords[componentId] | ||||
| 			indices[i] = index | ||||
| 		end | ||||
| 
 | ||||
| 		if skip then | ||||
|  | @ -642,13 +641,8 @@ function World.observer(world: World, ...) | |||
| 				local columns = archetype.columns | ||||
| 				local archetypeRecords = archetype.records | ||||
| 				for _, id in componentIds do | ||||
| 					local value = columns[archetypeRecords[id]][row] | ||||
| 					if value == nil then | ||||
| 						continue | ||||
| 					end | ||||
| 
 | ||||
| 					length += 1 | ||||
| 					queryOutput[length] = value | ||||
| 					queryOutput[length] = columns[archetypeRecords[id]][row] | ||||
| 				end | ||||
| 
 | ||||
| 				return archetype.entities[row], unpack(queryOutput, 1, length) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue