#ifndef PLAYER_LOGIC_H
#define PLAYER_LOGIC_H

#include "core/character.h"
#include "core/input.h"
#include "core/roguedefs.h"
#include <functional>

namespace rogue {
class PlayerCharacterLogic : public CharacterLogic {
public:
	PlayerCharacterLogic();
private:
	virtual Tile move() override;
	void on_up(bool pressed);
	void on_down(bool pressed);
	void on_left(bool pressed);
	void on_right(bool pressed);
	int input_x{0}, input_y{0};
	KeyEventHandler up;
	KeyEventHandler down;
	KeyEventHandler right;
	KeyEventHandler left;
};
}

#endif // !PLAYER_LOGIC_H
