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() { }