forked from FrictionalGames/PenumbraOverture
/
ButtonHandler.h
139 lines (109 loc) · 3.15 KB
/
ButtonHandler.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
/*
* Copyright (C) 2006-2010 - Frictional Games
*
* This file is part of Penumbra Overture.
*
* Penumbra Overture is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Penumbra Overture is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Penumbra Overture. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef GAME_BUTTON_HANDLER_H
#define GAME_BUTTON_HANDLER_H
#include "StdAfx.h"
#include "GameTypes.h"
#include "input/AxisAction.h"
using namespace hpl;
class cInit;
class cPlayer;
class cButtonHandler : public iUpdateable
{
public:
cButtonHandler(cInit *apInit);
~cButtonHandler();
void OnStart();
void Update(float afTimeStep);
void Reset();
void OnExit();
void OnPostSceneDraw();
void SetDefaultKeys();
tString GetActionName(const tString &asInputName,const tString &asSkipAction);
void ChangeState(eButtonHandlerState aState);
eButtonHandlerState GetState(){ return mState;}
bool GetInvertMouseY(){ return mbInvertMouseY;}
bool GetToggleCrouch(){ return mbToggleCrouch;}
//Settings
float mfMouseSensitivity;
bool mbInvertMouseY;
bool mbToggleCrouch;
private:
//cAction * ActionFromTypeAndVal(const tString& asName,const tString& asType, const tString& asVal);
//void TypeAndValFromAction(cAction *apAction, tString *apType, tString *apVal);
int mlNumOfActions;
cInit *mpInit;
cInput* mpInput;
iLowLevelGraphics *mpLowLevelGraphics;
iLowLevelHaptic *mpLowLevelHaptic;
cPlayer *mpPlayer;
eButtonHandlerState mState;
public:
// Actions
cAction mActionQuit;
cAction mActionForward;
cAction mActionBackward;
cAction mActionLeft;
cAction mActionRight;
cAction mActionLeanLeft;
cAction mActionLeanRight;
cAction mActionLookUp;
cAction mActionLookDown;
cAction mActionLookLeft;
cAction mActionLookRight;
cAxisAction mActionLookX;
cAxisAction mActionLookY;
cAxisAction mActionMoveX;
cAxisAction mActionMoveY;
cAxisAction mActionLean;
cAction mActionRun;
cAction mActionJump;
cAction mActionCrouch;
cAction mActionInteractMode;
cAction mActionLookMode;
cAction mActionHolster;
cAction mActionExamine;
cAction mActionInteract;
cAction mActionInventory;
cAction mActionNotebook;
cAction mActionPersonalNotes;
cAction mActionFlashlight;
cAction mActionGlowStick;
cAction mActionEnter;
cAction mActionEscape;
cAction mActionClick;
cAction mActionRightClick;
cAction mActionScrollUp;
cAction mActionScrollDown;
cAction mActionOne;
cAction mActionTwo;
cAction mActionThree;
cAction mActionFour;
cAction mActionFive;
cAction mActionSix;
cAction mActionSeven;
cAction mActionEight;
cAction mActionNine;
cAction mActionResetGame;
cAction mActionSaveGame;
cAction mActionLoadGame;
cAction mActionScreenshot;
cAction mActionPrintLog;
};
#endif // GAME_BUTTON_HANDLER_H