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();  | 
