#pragma once


namespace mof{
	
	class InputReceiver{
	public:
		typedef enum{
			BEGIN = 0,
			UP, DOWN, LEFT, RIGHT,
            A , B , C , D , E , F , G , H , I ,
            J , K , L , M , N , O , P , Q , R ,
            S , T , U , V , W , X , Y , Z ,
            ESCAPE , ANY,
			END //最後は必ずこれで終わるように
		} Key;

	
		virtual ~InputReceiver(){}
		virtual bool testKeyState(Key key) = 0;

		/**
		 * 不特定多数のオブジェクトがこのメソッドを呼び出すと、
		 * 意図した入力処理ができない可能性があります。
		 */
		virtual void update() = 0;
		
	};
};
