mirror of
https://github.com/Ukendio/jecs.git
synced 2025-04-24 17:10:03 +00:00
Add luaurc
This commit is contained in:
parent
c0e73273d1
commit
60c6177815
4 changed files with 30 additions and 25 deletions
6
.luaurc
Normal file
6
.luaurc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"aliases": {
|
||||||
|
"jecs": "C:/Users/Marcus/Documents/packages/jecs/src",
|
||||||
|
"testkit": "C:/Users/Marcus/Documents/packages/jecs/testkit"
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,8 +7,7 @@ local function TITLE(title: string)
|
||||||
print()
|
print()
|
||||||
print(testkit.color.white(title))
|
print(testkit.color.white(title))
|
||||||
end
|
end
|
||||||
|
local jecs = require("../src/init")
|
||||||
local jecs = require("../lib/init")
|
|
||||||
local mirror = require("../mirror/init")
|
local mirror = require("../mirror/init")
|
||||||
|
|
||||||
type i53 = number
|
type i53 = number
|
||||||
|
@ -50,8 +49,8 @@ do
|
||||||
world:set(e, G, true)
|
world:set(e, G, true)
|
||||||
world:set(e, H, true)
|
world:set(e, H, true)
|
||||||
|
|
||||||
BENCH("Update Data", function()
|
BENCH("Update Data", function()
|
||||||
for _ = 1, 100 do
|
for _ = 1, 100 do
|
||||||
world:set(e, A, false)
|
world:set(e, A, false)
|
||||||
world:set(e, B, false)
|
world:set(e, B, false)
|
||||||
world:set(e, C, false)
|
world:set(e, C, false)
|
||||||
|
@ -166,8 +165,8 @@ do
|
||||||
world:set(e, G, true)
|
world:set(e, G, true)
|
||||||
world:set(e, H, true)
|
world:set(e, H, true)
|
||||||
|
|
||||||
BENCH("Update Data", function()
|
BENCH("Update Data", function()
|
||||||
for _ = 1, 100 do
|
for _ = 1, 100 do
|
||||||
world:set(e, A, false)
|
world:set(e, A, false)
|
||||||
world:set(e, B, false)
|
world:set(e, B, false)
|
||||||
world:set(e, C, false)
|
world:set(e, C, false)
|
||||||
|
@ -243,4 +242,4 @@ do
|
||||||
|
|
||||||
view_bench(ecs, D1, D2, D3, D4, D5, D6, D7, D8)
|
view_bench(ecs, D1, D2, D3, D4, D5, D6, D7, D8)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -35,7 +35,7 @@ local color = {
|
||||||
end,
|
end,
|
||||||
|
|
||||||
gray = function(s: string): string
|
gray = function(s: string): string
|
||||||
return if disable_ansi then s else `\27[30;1m{s}\27[0m`
|
return if disable_ansi then s else `\27[38;1m{s}\27[0m`
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
local jecs = require("../lib/init")
|
local jecs = require("@jecs")
|
||||||
local testkit = require("../testkit")
|
local testkit = require("@testkit")
|
||||||
local __ = jecs.Wildcard
|
local __ = jecs.Wildcard
|
||||||
local ECS_ID, ECS_GENERATION = jecs.ECS_ID, jecs.ECS_GENERATION
|
local ECS_ID, ECS_GENERATION = jecs.ECS_ID, jecs.ECS_GENERATION
|
||||||
local ECS_GENERATION_INC = jecs.ECS_GENERATION_INC
|
local ECS_GENERATION_INC = jecs.ECS_GENERATION_INC
|
||||||
|
@ -35,7 +35,7 @@ TEST("world", function()
|
||||||
|
|
||||||
local count = 0
|
local count = 0
|
||||||
for componentId in world:query(jecs.Component) do
|
for componentId in world:query(jecs.Component) do
|
||||||
if componentId ~= A and componentId ~= B then
|
if componentId ~= A and componentId ~= B then
|
||||||
error("found entity")
|
error("found entity")
|
||||||
end
|
end
|
||||||
count += 1
|
count += 1
|
||||||
|
@ -44,7 +44,7 @@ TEST("world", function()
|
||||||
CHECK(count == 2)
|
CHECK(count == 2)
|
||||||
end
|
end
|
||||||
|
|
||||||
do CASE("should remove its components")
|
do CASE("should remove its components")
|
||||||
local world = jecs.World.new() :: World
|
local world = jecs.World.new() :: World
|
||||||
local A = world:component()
|
local A = world:component()
|
||||||
local B = world:component()
|
local B = world:component()
|
||||||
|
@ -63,7 +63,7 @@ TEST("world", function()
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
do CASE("iterator should not drain the query")
|
do CASE("iterator should not drain the query")
|
||||||
local world = jecs.World.new() :: World
|
local world = jecs.World.new() :: World
|
||||||
local A = world:component()
|
local A = world:component()
|
||||||
local B = world:component()
|
local B = world:component()
|
||||||
|
@ -73,22 +73,22 @@ TEST("world", function()
|
||||||
world:set(eB, B, true)
|
world:set(eB, B, true)
|
||||||
local eAB = world:entity()
|
local eAB = world:entity()
|
||||||
world:set(eAB, A, true)
|
world:set(eAB, A, true)
|
||||||
world:set(eAB, B, true)
|
world:set(eAB, B, true)
|
||||||
|
|
||||||
local q = world:query(A)
|
local q = world:query(A)
|
||||||
|
|
||||||
local i = 0
|
local i = 0
|
||||||
local j = 0
|
local j = 0
|
||||||
for _ in q do
|
for _ in q do
|
||||||
i+=1
|
i+=1
|
||||||
end
|
end
|
||||||
for _ in q do
|
for _ in q do
|
||||||
j+=1
|
j+=1
|
||||||
end
|
end
|
||||||
CHECK(i == j)
|
CHECK(i == j)
|
||||||
end
|
end
|
||||||
|
|
||||||
do CASE("should be able to get next results")
|
do CASE("should be able to get next results")
|
||||||
local world = jecs.World.new() :: World
|
local world = jecs.World.new() :: World
|
||||||
world:component()
|
world:component()
|
||||||
local A = world:component()
|
local A = world:component()
|
||||||
|
@ -99,12 +99,12 @@ TEST("world", function()
|
||||||
world:set(eB, B, true)
|
world:set(eB, B, true)
|
||||||
local eAB = world:entity()
|
local eAB = world:entity()
|
||||||
world:set(eAB, A, true)
|
world:set(eAB, A, true)
|
||||||
world:set(eAB, B, true)
|
world:set(eAB, B, true)
|
||||||
|
|
||||||
local q = world:query(A)
|
local q = world:query(A)
|
||||||
|
|
||||||
local e, data = q:next()
|
local e, data = q:next()
|
||||||
while e do
|
while e do
|
||||||
CHECK(
|
CHECK(
|
||||||
if e == eA then data == true
|
if e == eA then data == true
|
||||||
elseif e == eAB then data == true
|
elseif e == eAB then data == true
|
||||||
|
@ -389,15 +389,15 @@ TEST("world", function()
|
||||||
CHECK(count == 2)
|
CHECK(count == 2)
|
||||||
end
|
end
|
||||||
|
|
||||||
do CASE "should be able to add/remove matching entity during iteration"
|
do CASE "should be able to add/remove matching entity during iteration"
|
||||||
local world = jecs.World.new()
|
local world = jecs.World.new()
|
||||||
local Name = world:component()
|
local Name = world:component()
|
||||||
for i = 1, 5 do
|
for i = 1, 5 do
|
||||||
local e = world:entity()
|
local e = world:entity()
|
||||||
world:set(e, Name, tostring(e))
|
world:set(e, Name, tostring(e))
|
||||||
end
|
end
|
||||||
local count = 0
|
local count = 0
|
||||||
for id, name in world:query(Name) do
|
for id, name in world:query(Name) do
|
||||||
count += 1
|
count += 1
|
||||||
CHECK(id == tonumber(name))
|
CHECK(id == tonumber(name))
|
||||||
|
|
||||||
|
@ -407,7 +407,7 @@ TEST("world", function()
|
||||||
end
|
end
|
||||||
CHECK(count == 5)
|
CHECK(count == 5)
|
||||||
end
|
end
|
||||||
|
|
||||||
do CASE "should allow adding a matching entity during iteration"
|
do CASE "should allow adding a matching entity during iteration"
|
||||||
local world = jecs.World.new()
|
local world = jecs.World.new()
|
||||||
local A = world:component()
|
local A = world:component()
|
||||||
|
@ -420,7 +420,7 @@ TEST("world", function()
|
||||||
world:add(e2, B)
|
world:add(e2, B)
|
||||||
|
|
||||||
local count = 0
|
local count = 0
|
||||||
for id in world:query(A) do
|
for id in world:query(A) do
|
||||||
local e = world:entity()
|
local e = world:entity()
|
||||||
world:add(e, A)
|
world:add(e, A)
|
||||||
world:add(e, B)
|
world:add(e, B)
|
||||||
|
@ -443,7 +443,7 @@ TEST("world", function()
|
||||||
world:add(e2, B)
|
world:add(e2, B)
|
||||||
|
|
||||||
local count = 0
|
local count = 0
|
||||||
for id in world:query(A) do
|
for id in world:query(A) do
|
||||||
world:add(id, B)
|
world:add(id, B)
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
|
|
Loading…
Reference in a new issue