36 lines
492 B
Odin
36 lines
492 B
Odin
package ecs
|
|
|
|
import "core:fmt"
|
|
|
|
startup_systems: [dynamic]proc()
|
|
update_systems: [dynamic]proc()
|
|
fixed_update_systems: [dynamic]proc()
|
|
|
|
|
|
App :: struct {}
|
|
|
|
Component :: union {
|
|
Transform,
|
|
}
|
|
|
|
Transform :: struct {}
|
|
|
|
STARTUP :: 0
|
|
UPDATE :: 1
|
|
FIXED_UPDATE :: 2
|
|
|
|
add_system :: proc(schedule: int, system: proc()) {
|
|
switch schedule {
|
|
case 0:
|
|
append(&startup_systems, system)
|
|
case 1:
|
|
append(&update_systems, system)
|
|
case 2:
|
|
append(&fixed_update_systems, system)
|
|
}
|
|
}
|
|
|
|
ping :: proc() {
|
|
|
|
}
|