Entity deletion

This commit is contained in:
2024-10-21 23:32:02 +02:00
parent 84bb7b1eaa
commit c2504ec624
6 changed files with 116 additions and 80 deletions

View File

@@ -14,6 +14,7 @@ Entity_Flags :: enum_flags u16 {
UNIFORM_SCALE;
DONT_SAVE;
DELETED;
}
Renderable_Type :: enum {
@@ -166,9 +167,11 @@ load_model_into_entity :: (e: *Entity, model: *Model) {
}
}
destroy_entity :: (e: *Entity, remove_from_scene: bool = true) {
free(e.name);
mark_entity_deleted :: (e: *Entity) {
e.flags |= .DELETED;
}
destroy_entity :: (e: *Entity) {
for 0..e.renderable.num_nodes-1 {
node_data := e.renderable.nodes[it];
@@ -185,9 +188,5 @@ destroy_entity :: (e: *Entity, remove_from_scene: bool = true) {
}
}
if remove_from_scene {
array_unordered_remove_by_value(*engine.current_scene.entities, e);
delete_entity(e);
}
free(e.name);
}