#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 class HydraCheckPlanetResolutionTask : public HydraTask { private: protected: std::vector m_quads; public: virtual void Process() override { HydraID player_id = GetEngine()->GetPossessedPlayer(); HydraPositionComponent pos_comp = GetEngine()->ECS()->GetComponent(player_id); HydraActorManager* actor_manager = GetEngine()->ActorManager(); HydraECS* ecs = GetEngine()->ECS(); HydraPlanetQuadActor* quad0 = static_cast(actor_manager->GetActor(m_quads[0])); HydraPlanetQuadActor* quad1 = static_cast(actor_manager->GetActor(m_quads[1])); HydraPlanetQuadActor* quad2 = static_cast(actor_manager->GetActor(m_quads[2])); HydraPlanetQuadActor* quad3 = static_cast(actor_manager->GetActor(m_quads[3])); HydraPlanetQuadActor* quad4 = static_cast(actor_manager->GetActor(m_quads[4])); HydraPlanetQuadActor* quad5 = static_cast(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 quads) { m_quads = quads; } }; #endif /* HYDRACHECKPLANETRESOLUTIONTASK */