Entity deletion
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user