-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVariables.h
80 lines (69 loc) · 1.01 KB
/
Variables.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
#pragma once
#include <vector>
struct Point{
float x;
float y;
};
enum SHAPE {
SQAURE,
CIRCLE,
TRIANGLE
};
enum COLOR {
BLUE,
RED,
GREEN,
BLACK,
WHITE,
YELLOW,
ORANGE,
PURPLE,
BROWN,
GREY
};
//center based hitbox, and right side up based cords
struct Hitbox {
Point cord;
float width;
float height;
SHAPE shape;
};
//Top-left based hitbox/cord
struct TLOHitbox {
float left;
float top;
float right;
float bot;
};
#define hbZero Hitbox{{0,0},0,0,SHAPE::SQAURE}
#define hbtlZero TLOHitbox{0,0,0,0}
struct UI_INFO {
Hitbox HB;
COLOR color;
int id;
int parent;
std::vector<int> childs;
static int idCounter;
bool clickable;
bool triggered;
bool dragable;
//ui's that are visible will be drawn
bool visible;
//any ui that is alive will be checked for when updating
bool alive;
wchar_t* uiName;
TLOHitbox spriteHB;
};
enum INPUTACTION {
PRIMARY_CLICK,
SECONDARY_CLICK,
PRIMARY_RELEASE,
SECONDARY_RELEASE,
KEY_DOWN,
KEY_RELEASE,
MOUSE_MOVE
};
struct IA {
INPUTACTION action;
int key;
};