blob: 071415d74d311f2fb482e63caff91d89be8d9363 (
plain) (
blame)
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
|
#ifndef HUMAN_PLAYER_H__
#define HUMAN_PLAYER_H__
/* **************************************
* Includes *
* **************************************/
#include "Player.h"
#include "Camera.h"
#include "Cursor.h"
#include <string.h>
/* **************************************
* Defines *
* **************************************/
/* **************************************
* Structs and enums *
* **************************************/
/* **************************************
* Class definition *
* **************************************/
class HumanPlayer : public Player
{
public:
explicit HumanPlayer(const char* const strPlayerName, const Camera& cam);
void handler(void);
private:
enum tPlayerState
{
PLAYER_STATE_IDLE, /**< Player has not entered any menu or unit. */
PLAYER_STATE_UNIT_MENU, /**< Player has opened Unit menu. */
PLAYER_STATE_UNIT_SELECTED /**< Player has selected one or more units. */
} _eState; /**< Player action state. */
void drawHandler(void);
/* Button handlers. */
void buttonHandler(void);
void playerButtonPressedHandler(const size_t szBtn);
void cameraButtonPressedHandler(const size_t szBtn);
void playerButtonReleasedHandler(const size_t szBtn);
/* Pressed button event handlers. */
void onABtnPressed(void);
void onBBtnPressed(void);
/* Released button event handlers. */
void onABtnReleased(void);
void onBBtnReleased(void);
/* Unit selection. */
enum tPlayerState selectUnit(void);
/* Private objects. */
const Camera& _cam;
Cursor _cursor;
/* Private variables. */
uint8_t _ABtnFrames;
uint8_t _BBtnFrames;
};
#endif /* HUMAN_PLAYER_H__ */
|