Files
shoal/entities.odin
T
2026-10-07 11:16:18 -07:00

21 lines
382 B
Odin

package shoal
import "core:fmt"
Entity :: distinct u32
Storage :: struct($T: typeid) {
data: map[Entity]T,
}
spawn_entity :: proc(app: ^App) -> Entity {
entity_num := len(&app.entities)
entity: Entity = Entity(entity_num)
append(&app.entities, entity)
return entity
}
add_component :: proc(app: ^App, entity: Entity, storage: ^Storage($T)) {
storage.data[entity] = T{}
}