diff --git a/demo/src/ServerScriptService/systems/replication.luau b/demo/src/ServerScriptService/systems/replication.luau index 5e5004b..dab7723 100644 --- a/demo/src/ServerScriptService/systems/replication.luau +++ b/demo/src/ServerScriptService/systems/replication.luau @@ -159,7 +159,7 @@ return function(world: ty.World) set_n += 1 set_ids[set_n] = e set_values[set_n] = v or true - elseif not world:contains(e) then + elseif world:contains(e) then removed_n += 1 removed_ids[removed_n] = e end diff --git a/test/addons/observers.luau b/test/addons/observers.luau index 182a3ea..f18777d 100644 --- a/test/addons/observers.luau +++ b/test/addons/observers.luau @@ -7,24 +7,13 @@ local observers_add = require("@addons/observers") TEST("addons/observers", function() local world = observers_add(jecs.world()) - local Test = world:component() :: jecs.Id - type Q = () -> (jecs.Entity, T...) - local query: - ((jecs.World, jecs.Id) -> Q) - & ((jecs.World, jecs.Id, jecs.Id) -> Q) - & ((jecs.World, jecs.Id, jecs.Id, jecs.Id) -> Q) - = 1 :: never - for e, a in query(world, Test) do - - end - do CASE "Should work even if set after the component has been used" local A = world:component() world:set(world:entity(), A, 2) - local ran = true + local ran = false world:added(A, function() - ran = false + ran = true end) local entity = world:entity() @@ -38,16 +27,16 @@ TEST("addons/observers", function() local count = 1 local function counter() - count += 2 + count += 1 end world:set(A, jecs.OnAdd, counter) world:added(A, counter) world:set(world:entity(), A, false) - CHECK(count == 3) + CHECK(count == (1 + 2)) world:set(world:entity(), A, false) - CHECK(count == 5) + CHECK(count == (1 + (2 * 2))) end do CASE "Ensure ordering between signals and observers" @@ -56,7 +45,7 @@ TEST("addons/observers", function() local count = 1 local function counter() - count += 2 + count += 1 end world:observer(world:query(A, B), counter) @@ -77,7 +66,7 @@ TEST("addons/observers", function() local count = 1 local function counter() - count += 2 + count += 1 end world:observer(world:query(A), counter) @@ -97,7 +86,7 @@ TEST("addons/observers", function() local A = world:component() local count = 1 local function counter() - count += 2 + count += 1 end world:monitor(world:query(A), counter) @@ -118,10 +107,10 @@ TEST("addons/observers", function() local callcount = 1 world:added(A, function(entity) - callcount += 2 + callcount += 1 end) world:added(A, function(entity) - callcount += 2 + callcount += 1 end) local e = world:entity() @@ -129,7 +118,7 @@ TEST("addons/observers", function() world:add(e2, jecs.pair(A, e)) world:add(e, jecs.pair(A, e2)) - CHECK(callcount == 5) + CHECK(callcount == 1 + 2 * 2) end end)