Point lights
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "../../task/physics/HydraGetPhysicsUpdatesTask.hpp"
|
||||
#include "../../task/physics/HydraStepPhysicsTask.h"
|
||||
#include "../../task/physics/HydraSetPhysicsLinearVelocity.hpp"
|
||||
#include "../../task/physics/HydraDeletePhysicsObjectTask.h"
|
||||
#include "../../ecs/HydraECS.h"
|
||||
#include "../../ecs/components/HydraPhysicsComponent.h"
|
||||
#include "../../ecs/components/HydraPositionComponent.h"
|
||||
@@ -86,12 +87,27 @@ void HydraPhysicsSystem::InitialiseComponent(HydraID entity_id)
|
||||
set_task->Initialise(body_id, pos_comp.position, glm::quat(pos_comp.orientation));
|
||||
task_scheduler->WaitForTask(task_id);
|
||||
phys_comp.initialised = true;
|
||||
DebugLog("PHYSICS CREATED:" + std::to_string(entity_id) + "\n");
|
||||
|
||||
}
|
||||
|
||||
void HydraPhysicsSystem::DestroyComponent(HydraID entity_id)
|
||||
{
|
||||
|
||||
HydraTaskScheduler *task_scheduler = GetEngine()->TaskScheduler();
|
||||
HydraPhysicsComponent& phys_comp = GetEngine()->ECS()->GetComponent<HydraPhysicsComponent>(entity_id);
|
||||
|
||||
if(phys_comp.initialised)
|
||||
{
|
||||
HydraID task_id = task_scheduler->CreateTask<HydraDeletePhysicsObjectTask>(HydraThreadAffinity::Physics);
|
||||
HydraDeletePhysicsObjectTask *task = static_cast<HydraDeletePhysicsObjectTask *>(task_scheduler->GetTask(task_id));
|
||||
task->Initialise(phys_comp.body_id);
|
||||
task_scheduler->WaitForTask(task_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "here";
|
||||
}
|
||||
DebugLog("PHYSICS DELETED:" + std::to_string(entity_id) + "\n");
|
||||
}
|
||||
|
||||
void HydraPhysicsSystem::UpdateSystem(float delta_t_seconds)
|
||||
@@ -101,6 +117,7 @@ void HydraPhysicsSystem::UpdateSystem(float delta_t_seconds)
|
||||
{
|
||||
HydraID entity_id = m_bodies_to_set_transform.front();
|
||||
m_bodies_to_set_transform.pop();
|
||||
|
||||
HydraPhysicsComponent& phys_comp = GetEngine()->ECS()->GetComponent<HydraPhysicsComponent>(entity_id);
|
||||
HydraPositionComponent& pos_comp = GetEngine()->ECS()->GetComponent<HydraPositionComponent>(entity_id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user