Compare commits

..

No commits in common. "4ed2fb7a4062b6718651848fc6d6d7f32f1cbd2e" and "456713c2d565852e78f63ccffa854d4aaec0dea0" have entirely different histories.

3 changed files with 2 additions and 27 deletions

View file

@ -22,12 +22,11 @@ local function observers_new<T...>(
): Observer<T...> ): Observer<T...>
query:cached() query:cached()
local world = (query :: Query<T...> & { world: World }).world local world = (query :: Query<T...> & { world: World }).world
callback = callback callback = callback
local archetypes = {} local archetypes = {}
local terms = query.filter_with :: { jecs.Id } local terms = query.ids
local first = terms[1] local first = terms[1]
local observers_on_create = world.observable[jecs.ArchetypeCreate][first] local observers_on_create = world.observable[jecs.ArchetypeCreate][first]
@ -43,10 +42,6 @@ local function observers_new<T...>(
local entity_index = world.entity_index :: any local entity_index = world.entity_index :: any
for _, archetype in query:archetypes() do
archetypes[archetype.id] = true
end
local function emplaced<T, a>( local function emplaced<T, a>(
entity: jecs.Entity<T>, entity: jecs.Entity<T>,
id: jecs.Id<a>, id: jecs.Id<a>,
@ -137,10 +132,6 @@ local function monitors_new<T...>(query: Query<T...>): Observer<T...>
observer_on_delete.callback = function(archetype) observer_on_delete.callback = function(archetype)
archetypes[archetype.id] = nil archetypes[archetype.id] = nil
end end
for _, archetype in query:archetypes() do
archetypes[archetype.id] = true
end
local entity_index = world.entity_index :: any local entity_index = world.entity_index :: any
local callback_added: ((jecs.Entity) -> ())? local callback_added: ((jecs.Entity) -> ())?

View file

@ -7,23 +7,6 @@ local ob = require("@addons/ob")
TEST("addons/ob", function() TEST("addons/ob", function()
local world = jecs.world() local world = jecs.world()
do CASE "should match against archetypes that were already created"
local A = world:component()
local e1 = world:entity()
world:add(e1, A)
local monitor = ob.monitor(world:query(A))
local c = 1
monitor.added(function()
c += 1
end)
world:remove(e1, A)
world:add(e1, A)
CHECK(c==2)
end
do CASE "Should support query:without()" do CASE "Should support query:without()"
local A = world:component() local A = world:component()
local B = world:component() local B = world:component()

View file

@ -1365,6 +1365,7 @@ TEST("world:added", function()
end end
do CASE "" do CASE ""
local world = jecs.world()
local IsNearby = world:component() local IsNearby = world:component()
world:set(IsNearby, jecs.Name, "IsNearby") world:set(IsNearby, jecs.Name, "IsNearby")
local person1, person2 = world:entity(), world:entity() local person1, person2 = world:entity(), world:entity()