Standardise and make ECS more robust
This commit is contained in:
parent
b9aaeb62c9
commit
2ba1022f79
13 changed files with 245 additions and 232 deletions
|
|
@ -1,3 +1,4 @@
|
|||
#+private
|
||||
package ecs
|
||||
|
||||
import "core:log"
|
||||
|
|
@ -9,15 +10,12 @@ EntityManager :: struct {
|
|||
living_entity_count: u32,
|
||||
}
|
||||
|
||||
entity_manager_create :: proc() -> EntityManager {
|
||||
entity_manager := EntityManager{living_entity_count = 0}
|
||||
entity_manager_init :: proc(entity_manager: ^EntityManager) {
|
||||
queue.init(&entity_manager.available_entities)
|
||||
|
||||
for entity_id in 0..<ENTITY_MAX {
|
||||
queue.push_back(&entity_manager.available_entities, cast(EntityID)entity_id)
|
||||
queue.push_back(&entity_manager.available_entities, cast(EntityID) entity_id)
|
||||
}
|
||||
|
||||
return entity_manager
|
||||
}
|
||||
|
||||
entity_manager_create_entity :: proc(entity_manager: ^EntityManager) -> EntityID {
|
||||
|
|
@ -49,6 +47,6 @@ entity_manager_get_signature :: proc(entity_manager: ^EntityManager, entity_id:
|
|||
return entity_manager.signatures[entity_id]
|
||||
}
|
||||
|
||||
entity_manager_destroy :: proc(entity_manager: ^EntityManager) {
|
||||
entity_manager_delete :: proc(entity_manager: ^EntityManager) {
|
||||
queue.destroy(&entity_manager.available_entities)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue