-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathPageProperties.angelscript
More file actions
92 lines (85 loc) · 2.3 KB
/
Copy pathPageProperties.angelscript
File metadata and controls
92 lines (85 loc) · 2.3 KB
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
class PageProperties
{
PageProperties()
{
numItems = 35;
columns = 4;
rows = 3;
font = "Verdana64_shadow.fnt";
numberOffset = vector2(0, 0);
@itemChooser = (DefaultItemChooser());
backButtonNormPos = vector2(0.0f, 0.5f);
forwardButtonNormPos = vector2(1.0f, 0.5f);
buttonName = "ETHFramework/sprites/level_select_icon.png";
lockedButton = "ETHFramework/sprites/level_select_lock_icon.png";
emptyButton = "ETHFramework/sprites/level_select_icon.png";
backButton = "ETHFramework/sprites/level_select_back.png";
forwardButton = "ETHFramework/sprites/level_select_forward.png";
useUniqueButtons = false;
buttonSufix = "";
buttonSound = "";
itemSelectSound = "";
showNumbers = true;
fontScale = 1.0f;
highlightButtonBounceMin = vector2(0.99f, 1.01f);
highlightButtonBounceMax = vector2(1.01f, 0.99f);
highlightButtonBounceTimeStride = 300;
pageCounterSprite = "";
pageCounterSpriteColumns = 4;
pageCounterSpriteRows = 4;
pageCounterNormalizedPos = vector2(0.5f, 0.9f);
pageCounterColor = COLOR_WHITE;
}
uint numItems;
uint columns;
uint rows;
string font;
vector2 numberOffset;
vector2 backButtonNormPos;
vector2 forwardButtonNormPos;
ItemChooser@ itemChooser;
string buttonName;
string lockedButton;
string emptyButton;
string backButton;
string forwardButton;
string buttonSufix;
string buttonSound;
string itemSelectSound;
bool useUniqueButtons;
bool showNumbers;
float fontScale;
vector2 highlightButtonBounceMin;
vector2 highlightButtonBounceMax;
uint highlightButtonBounceTimeStride;
string pageCounterSprite;
uint pageCounterSpriteColumns;
uint pageCounterSpriteRows;
vector2 pageCounterNormalizedPos;
uint pageCounterColor;
}
interface ItemChooser
{
bool performAction(const uint itemIdx);
bool validateItem(const uint itemIdx);
void itemDrawCallback(const uint index, const vector2 &in pos, const vector2 &in offset);
void performDenialAction(const uint index);
}
class DefaultItemChooser : ItemChooser
{
bool performAction(const uint itemIdx)
{
g_stateManager.setState(g_gameStateFactory.createGameState(itemIdx));
return true;
}
bool validateItem(const uint itemIdx)
{
return true;
}
void itemDrawCallback(const uint index, const vector2 &in pos, const vector2 &in offset)
{
}
void performDenialAction(const uint index)
{
}
}