51 lines
2.0 KiB
C++
51 lines
2.0 KiB
C++
#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 */
|