Compare commits

..

1 commit

Author SHA1 Message Date
Marcus
6ebc513a79
Merge 1789bf85dc into bee92f489c 2025-06-28 19:00:44 +00:00
2 changed files with 9 additions and 13 deletions

View file

@ -2034,16 +2034,18 @@ local function ecs_bulk_insert(world: World, entity: Entity, ids: { Entity }, va
local value = values[i] :: any local value = values[i] :: any
local on_add = idr.hooks.on_add local on_add = idr.hooks.on_add
if value ~= nil then
columns_map[id][row] = value
local on_change = idr.hooks.on_change local on_change = idr.hooks.on_change
if value then
columns_map[id][row] = value
local hook = if set then on_change else on_add local hook = if set then on_change else on_add
if hook then if hook then
hook(entity, id, value :: any) hook(entity, id, value :: any)
end end
elseif on_add then else
on_add(entity, id) if on_add then
on_add(entity, id, value)
end
end end
end end
end end
@ -2810,7 +2812,7 @@ local function world_new()
if value == NULL then if value == NULL then
inner_world_add(world, i, ty) inner_world_add(world, i, ty)
else else
inner_world_set(world, i, ty, value) inner_world_add(world, i, ty, value)
end end
end end
end end

View file

@ -93,10 +93,7 @@ TEST("bulk", function()
CHECK(world:get(e, B) == 2) CHECK(world:get(e, B) == 2)
CHECK(world:get(e, C) == 3) CHECK(world:get(e, C) == 3)
jecs.bulk_insert(world, e, jecs.bulk_insert(world, e, { D, E, F }, { 4, nil, 5 })
{ D, E, F },
{ 4, nil, 5 }
)
CHECK(world:get(e, A) == 1) CHECK(world:get(e, A) == 1)
CHECK(world:get(e, B) == 2) CHECK(world:get(e, B) == 2)
CHECK(world:get(e, C) == 3) CHECK(world:get(e, C) == 3)
@ -105,10 +102,7 @@ TEST("bulk", function()
CHECK(world:get(e, E) == nil and world:has(e, E)) CHECK(world:get(e, E) == nil and world:has(e, E))
CHECK(world:get(e, F) == 5) CHECK(world:get(e, F) == 5)
jecs.bulk_insert(world, e, jecs.bulk_insert(world, e, { A, D, E, F, C }, { 10, 40, nil, 50, 30 })
{ A, D, E, F, C },
{ 10, 40, nil, 50, 30 }
)
CHECK(world:get(e, A) == 10) CHECK(world:get(e, A) == 10)
CHECK(world:get(e, B) == 2) CHECK(world:get(e, B) == 2)