Skip to content

Commit

Permalink
Switched back to having member variable in KeyBoardInputHandler for m…
Browse files Browse the repository at this point in the history
…oveCommandScalar
  • Loading branch information
oscar139 committed Apr 10, 2024
1 parent 699ee4f commit 88225d3
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 19 deletions.
8 changes: 5 additions & 3 deletions OPHD/Command/Commands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,21 @@
class MoveCommand : public Command
{
public:
MoveCommand(MapView& mapView, NAS2D::Vector<int> vector) :
MoveCommand(MapView& mapView, NAS2D::Vector<int> vector, int* mMoveCommandScalar) :
mMapView(mapView),
mVector(vector)
mVector(vector),
mMoveCommandScalar_(mMoveCommandScalar)
{}

virtual void execute() override
{
mMapView.moveView(MapOffset{mVector, 0});
mMapView.moveView(MapOffset{mVector * (*mMoveCommandScalar_), 0});
}

private:
MapView& mMapView;
NAS2D::Vector<int> mVector;
int* mMoveCommandScalar_ = nullptr;
};

class SignalCommand : public Command
Expand Down
26 changes: 10 additions & 16 deletions OPHD/Command/KeyboardInputHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,14 @@
KeyboardInputHandler::KeyboardInputHandler(MapView& mapView, NAS2D::Signal<>* reportsUiSignal, CheatMenu* cheatMenu, WindowStack* windowStack) :
mMapView(&mapView)
{
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_w] = new MoveCommand(*mMapView, DirectionNorthWest * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_UP] = new MoveCommand(*mMapView, DirectionNorthWest * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_s] = new MoveCommand(*mMapView, DirectionSouthEast * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_DOWN] = new MoveCommand(*mMapView, DirectionSouthEast * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_a] = new MoveCommand(*mMapView, DirectionSouthWest * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_LEFT] = new MoveCommand(*mMapView, DirectionSouthWest * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_d] = new MoveCommand(*mMapView, DirectionNorthEast * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift][NAS2D::EventHandler::KeyCode::KEY_RIGHT] = new MoveCommand(*mMapView, DirectionNorthEast * 5);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_w] = new MoveCommand(*mMapView, DirectionNorthWest);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_UP] = new MoveCommand(*mMapView, DirectionNorthWest);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_s] = new MoveCommand(*mMapView, DirectionSouthEast);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_DOWN] = new MoveCommand(*mMapView, DirectionSouthEast);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_a] = new MoveCommand(*mMapView, DirectionSouthWest);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_LEFT] = new MoveCommand(*mMapView, DirectionSouthWest);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_d] = new MoveCommand(*mMapView, DirectionNorthEast);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_RIGHT] = new MoveCommand(*mMapView, DirectionNorthEast);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_w] = new MoveCommand(*mMapView, DirectionNorthWest, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_UP] = new MoveCommand(*mMapView, DirectionNorthWest, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_s] = new MoveCommand(*mMapView, DirectionSouthEast, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_DOWN] = new MoveCommand(*mMapView, DirectionSouthEast, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_a] = new MoveCommand(*mMapView, DirectionSouthWest, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_LEFT] = new MoveCommand(*mMapView, DirectionSouthWest, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_d] = new MoveCommand(*mMapView, DirectionNorthEast, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_RIGHT] = new MoveCommand(*mMapView, DirectionNorthEast, &mMoveCommandScalar);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::None][NAS2D::EventHandler::KeyCode::KEY_F1] = new SignalCommand(reportsUiSignal);
mKeyModifierMap[NAS2D::EventHandler::KeyModifier::Shift | NAS2D::EventHandler::KeyModifier::Ctrl][NAS2D::EventHandler::KeyCode::KEY_F10] = new ShowCheatMenuCommand(cheatMenu, windowStack);
}
Expand All @@ -33,6 +25,8 @@ KeyboardInputHandler::KeyboardInputHandler(MapView& mapView, NAS2D::Signal<>* re
void KeyboardInputHandler::handleInput(NAS2D::EventHandler::KeyCode key, NAS2D::EventHandler::KeyModifier keyModifiers)
{
auto keyModifiersFitered = NAS2D::EventHandler::KeyModifier::None;
mMoveCommandScalar = NAS2D::Utility<NAS2D::EventHandler>::get().shift(keyModifiers) ? 5 : 1;

NAS2D::Utility<NAS2D::EventHandler>::get().shift(keyModifiers) ? keyModifiersFitered |= NAS2D::EventHandler::KeyModifier::Shift : keyModifiersFitered;

NAS2D::Utility<NAS2D::EventHandler>::get().control(keyModifiers) ? keyModifiersFitered |= NAS2D::EventHandler::KeyModifier::Ctrl : keyModifiersFitered;
Expand Down
1 change: 1 addition & 0 deletions OPHD/Command/KeyboardInputHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class KeyboardInputHandler

private:
MapView* mMapView;
int mMoveCommandScalar;

std::unordered_map<NAS2D::EventHandler::KeyModifier, std::unordered_map<NAS2D::EventHandler::KeyCode, Command*>> mKeyModifierMap;

Expand Down

0 comments on commit 88225d3

Please sign in to comment.