This commit is contained in:
Confideo-IOM
2026-09-08 20:31:57 +01:00
parent 1ad59aff2e
commit 4bbfd8b8e2
44 changed files with 1121 additions and 425 deletions
@@ -8,12 +8,30 @@
#include "../../ecs/components/HydraMeshComponent.h"
#include "../../ecs/components/HydraRenderableComponent.h"
#include "../../ecs/components/HydraMaterialComponent.h"
#include "../../ecs/components/HydraTickComponent.h"
#include "../../buffer/HydraMaterialBufferManager.h"
#include "../../buffer/HydraTextureBufferManager.h"
#include "../../buffer/HydraMaterialBuffer.h"
#include "../../mesh/HydraMeshManager.h"
#include "../../mesh/HydraMesh.h"
void HydraPlanetActor::FixedTick(float delta_t)
{
HydraID player_id = GetEngine()->GetPossessedPlayer();
HydraPositionComponent pos_comp = GetEngine()->ECS()->GetComponent<HydraPositionComponent>(player_id);
HydraActorManager* actor_manager = GetEngine()->ActorManager();
HydraECS* ecs = GetEngine()->ECS();
HydraPlanetQuadActor* quad0 = static_cast<HydraPlanetQuadActor*>(actor_manager->GetActor(m_quads[0]));
HydraPlanetQuadActor* quad1 = static_cast<HydraPlanetQuadActor*>(actor_manager->GetActor(m_quads[1]));
HydraPlanetQuadActor* quad2 = static_cast<HydraPlanetQuadActor*>(actor_manager->GetActor(m_quads[2]));
HydraPlanetQuadActor* quad3 = static_cast<HydraPlanetQuadActor*>(actor_manager->GetActor(m_quads[3]));
quad0->CheckResolution(pos_comp.position);
quad1->CheckResolution(pos_comp.position);
quad2->CheckResolution(pos_comp.position);
quad3->CheckResolution(pos_comp.position);
}
void HydraPlanetActor::InitialiseComponents()
{
@@ -26,12 +44,22 @@ void HydraPlanetActor::InitialiseComponents()
//_CreateMesh();
//_CreateRenderableComponent();
_CreateQuads();
_CreateTick();
}
void HydraPlanetActor::DeferredInitialiseComponents()
{
}
void HydraPlanetActor::_CreateTick()
{
HydraECS *ecs = GetEngine()->ECS();
HydraTickComponent tick_component;
tick_component.entity_id = GetID();
tick_component.fixed = true;
ecs->AddComponent<HydraTickComponent>(GetID(), tick_component);
}
void HydraPlanetActor::_CreatePosition()
{
HydraECS *ecs = GetEngine()->ECS();
@@ -217,6 +245,7 @@ void HydraPlanetActor::_CreateQuads()
float diameter = 50000.0f;
float quad_size = 50000.0f;
float radius = diameter /2.0f;
m_quads[0] = GetEngine()->ActorManager()->CreateActor<HydraPlanetQuadActor>();
HydraPlanetQuadActor* quad0 = static_cast<HydraPlanetQuadActor*>(GetEngine()->ActorManager()->GetActor(m_quads[0]));
quad0->InitialiseQuad(diameter, quad_size, divisions, glm::vec3(0,0,radius), glm::vec3(0,0,0));