Files
HydraV3/HydraEngine/source/task/planet/HydraCheckPlanetResolutionTask.hpp
T

51 lines
2.0 KiB
C++
Raw Normal View History

2026-09-26 18:40:34 +01:00
#ifndef HYDRACHECKPLANETRESOLUTIONTASK
#define HYDRACHECKPLANETRESOLUTIONTASK
#include "../HydraTask.h"
#include "../../pipeline/HydraPipeline.h"
#include "../../engine/HydraEngine.h"
#include "../../ecs/HydraECS.h"
#include "../../ecs/components/HydraPositionComponent.h"
#include "../../actor/PlanetActor/HydraPlanetQuadActor.h"
#include "../../actor/HydraActorManager.h"
#include <vector>
class HydraCheckPlanetResolutionTask : public HydraTask
{
private:
protected:
std::vector<HydraID> m_quads;
public:
virtual void Process() override
{
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]));
HydraPlanetQuadActor* quad4 = static_cast<HydraPlanetQuadActor*>(actor_manager->GetActor(m_quads[4]));
HydraPlanetQuadActor* quad5 = static_cast<HydraPlanetQuadActor*>(actor_manager->GetActor(m_quads[5]));
quad0->CheckResolution(pos_comp.position);
quad1->CheckResolution(pos_comp.position);
quad2->CheckResolution(pos_comp.position);
quad3->CheckResolution(pos_comp.position);
quad4->CheckResolution(pos_comp.position);
quad5->CheckResolution(pos_comp.position);
}
void Initialise(std::vector<HydraID> quads)
{
m_quads = quads;
}
};
#endif /* HYDRACHECKPLANETRESOLUTIONTASK */