diff options
Diffstat (limited to 'crawl-ref/source/direct.h')
-rw-r--r-- | crawl-ref/source/direct.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/crawl-ref/source/direct.h b/crawl-ref/source/direct.h index f8be4357a7..9541e23825 100644 --- a/crawl-ref/source/direct.h +++ b/crawl-ref/source/direct.h @@ -23,9 +23,26 @@ * spells2 - spells3 - spells4 * *********************************************************************** */ +// An object that modifies the behaviour of the direction prompt. +class targeting_behaviour +{ +public: + targeting_behaviour(bool just_looking = false); + virtual ~targeting_behaviour(); + + // Returns a keystroke for the prompt. + virtual int get_key(); + virtual command_type get_command(int key = -1); + virtual bool should_redraw(); + +public: + bool just_looking; + bool compass; +}; + void direction( dist &moves, targeting_type restricts = DIR_NONE, targ_mode_type mode = TARG_ANY, bool just_looking = false, - const char *prompt = NULL ); + const char *prompt = NULL, targeting_behaviour *mod = NULL ); bool in_los_bounds(int x, int y); bool in_viewport_bounds(int x, int y); |