#ifndef _CPADDLE_HPP_
#define _CPADDLE_HPP_

/*** TrooperEngine DLL Header Files ***/
#include "TrooperEngine.hpp"

/*** Custom Header Files ***/
#include "eBallState.hpp"

namespace Equipment {
	class cPaddle : public VideoEngine::cSprite
	{
	public:
		enum eState {
			Up = 0,
			Still,
			Down
		};

		cPaddle( const signed long int xpos = 0, const signed long int ypos = 0, const signed long int xarea = 0,
			const signed long int yarea = 0, const unsigned long int warea = 0, const unsigned long int harea = 0,
			VideoEngine::cImage** image = nullptr, VideoEngine::cCamera** camera = nullptr );
		~cPaddle();

		///Functions
		void Move();
		const bool isPaused();
		void Pause();

		void Reset();

		///Sets
		void setSpeed( const double speed = 0.0 );
		void setState( const eState state = eState::Still );

		///Gets
		const eState getState() const;

	private:
		
	private:
		double m_speed;

		bool m_pause;// = false

		eState m_state;// = Still
	};/// END CLASS DEFINITION cPaddle
}/// END NAMESPACE DEFINITION Equipment
#endif/// END IFNDEF _CPADDLE_HPP_