diff options
author | Stijn Buys <ingar@osirion.org> | 2008-07-25 20:14:13 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-07-25 20:14:13 +0000 |
commit | ae21836b66252c2b0d49b5eeca9351cf894b4673 (patch) | |
tree | 94a40210fe63a7b6f22c96fa41feea1acdfaebb0 /src/client | |
parent | d460c49f9ac6e036eedc162881b6529e6a13b449 (diff) |
allow mouse control when clicking on an already selected entity
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/input.cc | 2 | ||||
-rw-r--r-- | src/client/targets.cc | 5 | ||||
-rw-r--r-- | src/client/targets.h | 5 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/client/input.cc b/src/client/input.cc index 6306fc8..29226cb 100644 --- a/src/client/input.cc +++ b/src/client/input.cc @@ -410,7 +410,7 @@ void key_pressed(Key *key) } else if (core::application()->connected() && core::localcontrol()) { - if ((key->sym() == 512 + SDL_BUTTON_LEFT) && targets::hover()) { + if ((key->sym() == 512 + SDL_BUTTON_LEFT) && targets::hover() && (targets::current_id() != targets::hover())) { // hovering target selected targets::select_target(targets::hover()); diff --git a/src/client/targets.cc b/src/client/targets.cc index d1bed10..5b8e9ab 100644 --- a/src/client/targets.cc +++ b/src/client/targets.cc @@ -51,6 +51,11 @@ core::Entity* current() return current_target; } +unsigned int current_id() +{ + return current_target_id; +} + unsigned int hover() { return current_hover; diff --git a/src/client/targets.h b/src/client/targets.h index c1f78c7..fc2d861 100644 --- a/src/client/targets.h +++ b/src/client/targets.h @@ -31,9 +31,12 @@ void render_listener_sound(); /// render the sound for one entity void render_entity_sound(core::Entity *Entity); -/// current selected target, 0 if there is no current targer +/// currently selected target, 0 if there is none core::Entity *current(); +/// id of the currently selected target, 0 if there is none +unsigned int current_id(); + /// id if target the mouse is currently hovering, 0 if none unsigned int hover(); |