// TurretController.h
#ifndef __TURRETCONTROLLER_H__
#define __TURRETCONTROLLER_H__

//#include "ProcessSystem/EntityProcess.h"
#include "ProcessSystem/process.h"
#include "EntitySystem/EntityFunctors.h"
#include "BleachUtils/BleachMath.h"

class TurretController : public Process  //EntityProcess
{
	EntityHandle m_hBaseEnt, m_hTurretEnt;
	Vec2 m_baseCenter, m_rotationPoint;

public:
	TurretController(HandlePtr<Entity>& hBaseEnt, HandlePtr<Entity>& hTurretEnt, float updateTime = DEFAULT_TIME_UNTIL_UPDATE) : m_hBaseEnt(hBaseEnt), m_hTurretEnt(hTurretEnt) {m_timeUntilUpdate = updateTime;}
	virtual ~TurretController(void) {}
	
	// implementation / interface
	virtual void OnInit(void);
	virtual void OnUpdate(const float deltaMs);
	//virtual void OnExit(void) { }  // called when the process is killed
};


#endif

