Skip to content

Commit 8819616

Browse files
committed
groups and phases are just systems now
1 parent a325976 commit 8819616

4 files changed

Lines changed: 81 additions & 654 deletions

File tree

README.md

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ ON_ASSIGN :: fragment
4040
ON_INSERT :: fragment
4141
ON_REMOVE :: fragment
4242
43-
PHASE :: fragment
4443
GROUP :: fragment
45-
AFTER :: fragment
4644
4745
QUERY :: fragment
4846
EXECUTE :: fragment
@@ -107,7 +105,7 @@ components :: chunk, fragment... -> component[]...
107105
each :: entity -> {each_state? -> fragment?, component?}, each_state?
108106
execute :: query -> {execute_state? -> chunk?, entity[]?, integer?}, execute_state?
109107
110-
process :: phase... -> ()
108+
process :: system... -> ()
111109
112110
spawn_at :: chunk?, fragment[]?, component[]? -> entity
113111
spawn_as :: entity?, fragment[]?, component[]? -> entity
@@ -149,38 +147,16 @@ query_builder:exclude :: fragment... -> query_builder
149147
query_builder:build :: query
150148
```
151149

152-
```
153-
group :: group_builder
154-
group_builder:name :: string -> group_builder
155-
group_builder:single :: component -> group_builder
156-
group_builder:disable :: group_builder
157-
group_builder:phase :: phase -> group_builder
158-
group_builder:after :: group... -> group_builder
159-
group_builder:prologue :: {} -> group_builder
160-
group_builder:epilogue :: {} -> group_builder
161-
group_builder:build :: group
162-
```
163-
164-
```
165-
phase :: phase_builder
166-
phase_builder:name :: string -> phase_builder
167-
phase_builder:single :: component -> phase_builder
168-
phase_builder:disable :: phase_builder
169-
phase_builder:prologue :: {} -> phase_builder
170-
phase_builder:epilogue :: {} -> phase_builder
171-
phase_builder:build :: phase
172-
```
173-
174150
```
175151
system :: system_builder
176152
system_builder:name :: string -> system_builder
177153
system_builder:single :: component -> system_builder
178-
system_builder:disable :: system_builder
179-
system_builder:group :: group -> system_builder
154+
system_builder:group :: system -> system_builder
180155
system_builder:query :: query -> system_builder
181156
system_builder:execute :: {chunk, entity[], integer} -> system_builder
182157
system_builder:prologue :: {} -> system_builder
183158
system_builder:epilogue :: {} -> system_builder
159+
system_builder:disabled :: system_builder
184160
system_builder:build :: system
185161
```
186162

develop/example.lua

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,11 @@ local function vector2(x, y)
1515
return { x = x, y = y }
1616
end
1717

18-
local phases = {
19-
awake = evo.phase():build(),
20-
physics = evo.phase():build(),
21-
graphics = evo.phase():build(),
22-
shutdown = evo.phase():build(),
23-
}
24-
2518
local groups = {
26-
awake = evo.group():phase(phases.awake):build(),
27-
physics = evo.group():phase(phases.physics):build(),
28-
graphics = evo.group():phase(phases.graphics):build(),
29-
shutdown = evo.group():phase(phases.shutdown):build(),
19+
awake = evo.system():build(),
20+
physics = evo.system():build(),
21+
graphics = evo.system():build(),
22+
shutdown = evo.system():build(),
3023
}
3124

3225
local singles = {
@@ -126,12 +119,12 @@ local shutdown_system = evo.system()
126119
end):build()
127120

128121
do
129-
evo.process(phases.awake)
122+
evo.process(groups.awake)
130123

131124
for _ = 1, 10 do
132-
evo.process(phases.physics)
133-
evo.process(phases.graphics)
125+
evo.process(groups.physics)
126+
evo.process(groups.graphics)
134127
end
135128

136-
evo.process(phases.shutdown)
129+
evo.process(groups.shutdown)
137130
end

develop/untests.lua

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5929,17 +5929,13 @@ do
59295929
local q = evo.query():build()
59305930
assert(evo.get(q, evo.NAME) == nil)
59315931

5932-
local p = evo.phase():build()
5933-
assert(evo.get(p, evo.NAME) == nil)
5934-
59355932
local s = evo.system():build()
59365933
assert(evo.get(s, evo.NAME) == nil)
59375934
end
59385935

59395936
do
59405937
local fb = evo.fragment()
59415938
local qb = evo.query()
5942-
local pb = evo.phase()
59435939
local sb = evo.system()
59445940

59455941
do
@@ -5949,9 +5945,6 @@ do
59495945
local q = qb:name('query'):build()
59505946
assert(evo.get(q, evo.NAME) == 'query')
59515947

5952-
local p = pb:name('phase'):build()
5953-
assert(evo.get(p, evo.NAME) == 'phase')
5954-
59555948
local s = sb:name('system'):build()
59565949
assert(evo.get(s, evo.NAME) == 'system')
59575950
end
@@ -5963,9 +5956,6 @@ do
59635956
local q = qb:build()
59645957
assert(evo.get(q, evo.NAME) == nil)
59655958

5966-
local p = pb:build()
5967-
assert(evo.get(p, evo.NAME) == nil)
5968-
59695959
local s = sb:build()
59705960
assert(evo.get(s, evo.NAME) == nil)
59715961
end
@@ -5974,7 +5964,6 @@ end
59745964
do
59755965
local fb = evo.fragment()
59765966
local qb = evo.query()
5977-
local pb = evo.phase()
59785967
local sb = evo.system()
59795968

59805969
do
@@ -5984,9 +5973,6 @@ do
59845973
local q = qb:single(false):build()
59855974
assert(evo.get(q, q) == false)
59865975

5987-
local p = pb:single(false):build()
5988-
assert(evo.get(p, p) == false)
5989-
59905976
local s = sb:single(false):build()
59915977
assert(evo.get(s, s) == false)
59925978
end
@@ -5998,9 +5984,6 @@ do
59985984
local q = qb:build()
59995985
assert(evo.get(q, q) == nil)
60005986

6001-
local p = pb:build()
6002-
assert(evo.get(p, p) == nil)
6003-
60045987
local s = sb:build()
60055988
assert(evo.get(s, s) == nil)
60065989
end
@@ -7315,7 +7298,7 @@ do
73157298
end
73167299

73177300
do
7318-
local gb = evo.group()
7301+
local gb = evo.system()
73197302

73207303
local g1 = gb:build()
73217304
local g2 = gb:name('g2'):build()
@@ -7329,31 +7312,11 @@ do
73297312
end
73307313

73317314
do
7332-
local g = evo.group():build()
7315+
local g = evo.system():build()
73337316
local s = evo.system():group(g):build()
73347317
assert(evo.get(s, evo.GROUP) == g)
73357318
end
73367319

7337-
do
7338-
local s1 = evo.group():build()
7339-
do
7340-
local after = evo.get(s1, evo.AFTER)
7341-
assert(after == nil)
7342-
end
7343-
7344-
local g2 = evo.group():after(s1):build()
7345-
do
7346-
local after = evo.get(g2, evo.AFTER)
7347-
assert(#after == 1 and after[1] == s1)
7348-
end
7349-
7350-
local g3 = evo.group():after(s1, g2):build()
7351-
do
7352-
local after = evo.get(g3, evo.AFTER)
7353-
assert(#after == 2 and after[1] == s1 and after[2] == g2)
7354-
end
7355-
end
7356-
73577320
do
73587321
local f1 = evo.id()
73597322
local c1 = evo.chunk(f1)

0 commit comments

Comments
 (0)