From 9be7d0ac1127477a5ff5ffb3fb3dd45487eec213 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 10 Apr 2012 23:42:45 +0300 Subject: Move untarget and stop attack actions to actionmanager from hardcoded place. --- src/actionmanager.cpp | 20 ++++++++++++++++++++ src/actionmanager.h | 2 ++ src/game.cpp | 10 ---------- src/keyboarddata.h | 6 +++--- 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/actionmanager.cpp b/src/actionmanager.cpp index d3e34daa8..bbfaf5430 100644 --- a/src/actionmanager.cpp +++ b/src/actionmanager.cpp @@ -929,4 +929,24 @@ impHandler0(talk) return false; } +impHandler0(stopAttack) +{ + if (player_node) + { + player_node->stopAttack(); + return true; + } + return false; +} + +impHandler0(untarget) +{ + if (player_node) + { + player_node->untarget(); + return true; + } + return false; +} + } diff --git a/src/actionmanager.h b/src/actionmanager.h index 05d84b989..0950b4e3d 100644 --- a/src/actionmanager.h +++ b/src/actionmanager.h @@ -85,6 +85,8 @@ namespace ActionManager decHandler(directLeft); decHandler(directRight); decHandler(talk); + decHandler(stopAttack); + decHandler(untarget); decHandler(hideWindows); decHandler(helpWindowShow); diff --git a/src/game.cpp b/src/game.cpp index b05cd6d28..68d637829 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -862,16 +862,6 @@ void Game::handleMoveAndAttack() mLastTarget = ActorSprite::UNKNOWN; // Reset last target } } - - // Stop attacking if the right key is pressed - if (!inputManager.isActionActive(Input::KEY_ATTACK) - && !inputManager.isActionActive(Input::KEY_EMOTE)) - { - if (inputManager.isActionActive(Input::KEY_STOP_ATTACK)) - player_node->stopAttack(); - else if (inputManager.isActionActive(Input::KEY_UNTARGET)) - player_node->untarget(); - } } } diff --git a/src/keyboarddata.h b/src/keyboarddata.h index 5ea1daba3..d1b77f3ea 100644 --- a/src/keyboarddata.h +++ b/src/keyboarddata.h @@ -123,16 +123,16 @@ static KeyData const keyData[Input::KEY_TOTAL] = { INPUT_KEYBOARD, SDLK_LSHIFT, INPUT_JOYSTICK, 4, Input::GRP_DEFAULT, - nullptr, + &ActionManager::stopAttack, Input::KEY_NO_VALUE, 50, COND_GAME}, {"keyUnTarget", INPUT_UNKNOWN, Input::KEY_NO_VALUE, INPUT_UNKNOWN, Input::KEY_NO_VALUE, Input::GRP_DEFAULT, - nullptr, + &ActionManager::untarget, Input::KEY_NO_VALUE, 50, - COND_DEFAULT}, + COND_GAME}, {"keyTargetClosest", INPUT_KEYBOARD, SDLK_a, INPUT_UNKNOWN, Input::KEY_NO_VALUE, -- cgit v1.2.3-60-g2f50