34 lines
837 B
C++
34 lines
837 B
C++
#ifndef PickupSpawnSystem_h__
|
|
#define PickupSpawnSystem_h__
|
|
|
|
#include "Core/System.h"
|
|
#include "Core/Transform.h"
|
|
#include "Core/ResourceManager.h"
|
|
#include "Core/EntityFileParser.h"
|
|
#include "Events/EPickupSpawned.h"
|
|
#include "Events/EPlayerHealthPickup.h"
|
|
#include "Engine/Collision/ETrigger.h"
|
|
#include "Common.h"
|
|
#include <tuple>
|
|
|
|
class PickupSpawnSystem : public ImpureSystem
|
|
{
|
|
public:
|
|
PickupSpawnSystem(SystemParams params);
|
|
|
|
virtual void Update(double dt) override;
|
|
|
|
private:
|
|
EventRelay<PickupSpawnSystem, Events::TriggerTouch> m_ETriggerTouch;
|
|
bool OnTriggerTouch(Events::TriggerTouch& e);
|
|
|
|
struct NewHealthPickup {
|
|
glm::vec3 Pos;
|
|
double HealthGain;
|
|
double RespawnTimer;
|
|
double DecreaseThisRespawnTimer;
|
|
};
|
|
std::vector<NewHealthPickup> m_ETriggerTouchVector;
|
|
};
|
|
#endif
|