MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / DetectControlModeActions

Method DetectControlModeActions

engine/Poseidon/World/Simulation/Simul.cpp:984–1055  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

982}
983
984void Object::DetectControlModeActions(const UserAction* moveActions, int nMoveActions, const UserAction* turnActions,
985 int nTurnActions, const UserAction* cursorActions, int nCursorActions,
986 const UserAction* thrustActions, int nThrustActions) const
987{
988 auto& input = InputSubsystem::Instance();
989 bool keyMoveActive = false;
990 bool keyTurnActive = false;
991 bool keyCursorActive = false;
992 bool keyThrustActive = false;
993 for (int i = 0; i < nMoveActions; i++)
994 {
995 if (input.GetAction(moveActions[i]))
996 {
997 keyMoveActive = true;
998 break;
999 }
1000 }
1001 for (int i = 0; i < nTurnActions; i++)
1002 {
1003 if (input.GetAction(turnActions[i]))
1004 {
1005 keyTurnActive = true;
1006 break;
1007 }
1008 }
1009 for (int k = 0; k < nCursorActions; k++)
1010 {
1011 if (input.GetAction(cursorActions[k]))
1012 {
1013 keyCursorActive = true;
1014 break;
1015 }
1016 }
1017 for (int k = 0; k < nThrustActions; k++)
1018 {
1019 if (input.GetAction(thrustActions[k]))
1020 {
1021 keyThrustActive = true;
1022 break;
1023 }
1024 }
1025
1026 if (keyMoveActive)
1027 input.MarkKeyboardMoveActive();
1028
1029 if (keyTurnActive)
1030 input.MarkKeyboardTurnActive();
1031
1032 if (keyCursorActive)
1033 {
1034 input.MarkKeyboardCursorActive();
1035 input.MarkKeyboardTurnActive();
1036 }
1037
1038 if (keyThrustActive)
1039 input.MarkKeyboardThrustActive();
1040
1041 {

Callers

nothing calls this directly

Calls 8

GetActionMethod · 0.45

Tested by

no test coverage detected