Cleaning up shutdown

This commit is contained in:
Confideo-IOM
2026-08-17 21:44:00 +01:00
parent 139fb149b2
commit 282243a16b
89 changed files with 2112 additions and 855 deletions
@@ -5,7 +5,7 @@
#include "../../buffer/HydraBufferManager.h"
#include "../../scheduler/HydraTaskScheduler.h"
#include "../../task/buffer/HydraCreateVertexBufferTask.hpp"
#include "../../task/buffer/HydraDeleteVertexBufferTask.hpp"
#include "../../task/buffer/HydraUpdateVertexBufferTask.hpp"
#include "../../mesh/HydraMeshManager.h"
void HydraMeshSystem::Initialise()
@@ -13,6 +13,8 @@ void HydraMeshSystem::Initialise()
}
void HydraMeshSystem::InitialiseComponent(HydraID entity_id)
{
HydraECS* ecs = GetEngine()->ECS();
@@ -42,3 +44,19 @@ void HydraMeshSystem::InitialiseComponent(HydraID entity_id)
task_scheduler->WaitForTask(update_buffer_task_id);
mesh_comp.mesh_state = HYDRA_STATE::Ready;
}
void HydraMeshSystem::DestroyComponent(HydraID entity_id)
{
HydraECS* ecs = GetEngine()->ECS();
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
HydraBufferManager *buffer_manager = GetEngine()->BufferManager();
HydraMeshComponent mesh_comp = ecs->GetComponent<HydraMeshComponent>(entity_id);
HydraID delete_vertex_task_id = task_scheduler->CreateTask<HydraDeleteVertexBufferTask>(HydraThreadAffinity::Render);
HydraDeleteVertexBufferTask *vertex_task = static_cast<HydraDeleteVertexBufferTask *>(task_scheduler->GetTask(delete_vertex_task_id));
vertex_task->Intialise(mesh_comp.vertex_buffer_id);
task_scheduler->WaitForTask(delete_vertex_task_id);
GetEngine()->MeshManager()->DeleteMesh(mesh_comp.mesh_id);
}