#pragma once
#include "mof/EventCondition.hpp"
#include "mof/InputReceiver.hpp"
#include "memory"

namespace mof{


	class InputEventCondition : public EventCondition{
		mof::InputReceiver::Key m_key;
		std::shared_ptr<mof::InputReceiver> m_pInputReceiver;
		bool m_state;
	public:
		InputEventCondition(
			mof::InputReceiver::Key key , 
			const std::shared_ptr<mof::InputReceiver>& pInputReceiver
			);

		virtual ~InputEventCondition();
		virtual bool test();
		virtual void update();
		virtual bool isDisposable();
	};


}

