Garage working, ready for vehicle swap implementation

This commit is contained in:
ViktorLjung
2014-06-01 03:07:47 +02:00
parent a142d368a7
commit d64be64ba4
18 changed files with 711 additions and 276 deletions
+42
View File
@@ -0,0 +1,42 @@
#ifndef GarageSystem_h__
#define GarageSystem_h__
#include "System.h"
#include "Components/Transform.h"
#include "Components/Trigger.h"
#include "Components/Garage.h"
#include "Events/EnterTrigger.h"
#include "Events/LeaveTrigger.h"
#include "Components/Player.h"
#include "Events/Move.h"
#include "Events/Rotate.h"
#include "Components/Move.h"
#include "Components/Rotate.h"
namespace Systems
{
class GarageSystem : public System
{
public:
GarageSystem(World* world, std::shared_ptr<::EventBroker> eventBroker, std::shared_ptr<::ResourceManager> resourceManager)
: System(world, eventBroker, resourceManager) { }
void Initialize() override;
void RegisterComponents(ComponentFactory* cf) override;
void Update(double dt) override;
void UpdateEntity(double dt, EntityID entity, EntityID parent) override;
private:
EventRelay<GarageSystem, Events::EnterTrigger> m_EEnterTrigger;
bool OnEnterTrigger(const Events::EnterTrigger &event);
EventRelay<GarageSystem, Events::LeaveTrigger> m_ELeaveTrigger;
bool OnLeaveTrigger(const Events::LeaveTrigger &event);
void ToggleGarage(Components::Garage* garageComponent);
};
}
#endif // GarageSystem_h__