-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSettings.h
76 lines (60 loc) · 1.81 KB
/
Settings.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
#ifndef Settings_h
#define Settings_h
#include "CheckBox.h"
#include "AdjustBar.h"
#include "Screen.h"
#include "Prompt.h"
#include "SoundManager.h"
#include "Leaderboard.h"
#include "SelectBox.h"
class ManagerManager;
class Settings : public Screen
{
private:
enum class SelectedOption {soundToggle, soundAdjust, musicToggle, musicAdjust, leaderboardReset, back};
SelectedOption selectedOption = SelectedOption::soundToggle;
Text options[6];
IntRect optionBoxes[6];
SelectBox selectBoxes[6];
Texture textures[2];
CheckBox toggles[2];
AdjustBar bars[2];
short int soundEffectVolume = 100;
short int musicVolume = 100;
bool music_enabled = true;
bool soundEffects_enabled = true;
short int adjusting = 0;
void applyAdjust();
void toggleSound();
void toggleMusic();
SoundManager & soundManager_ref;
Leaderboard & leaderBoard_ref;
void draw();
void drawTitle();
void drawSoundEffectOption();
void drawMusicOption();
void drawMusicVolume();
void drawSoundEffectVolume();
void drawResetLeaderboard();
void drawBack();
void drawModifiers();
Prompt prompt;
IntRect promptOptionBoxes[2];
bool prompting=false;
void reset();
void load();
void save();
string fileName="settings.dat";
void setSelectedOption(SelectedOption selectedOption);
void setSelectedOption(short int selectedOptionIndex);
protected:
virtual void drawSelected(); //from screen
public:
SelectedOption getSelectedOption() { return this->selectedOption; }
virtual void update(); // from screen
virtual void manageInput(Keyboard::Key key); // from screen
virtual void manageInput(Mouse::Button button, bool released = 0); //from Screen
virtual void updateMouse(); //from screen
Settings(RenderWindow& window, ManagerManager& manager_ref ,SoundManager & _soundManager_ref,Leaderboard & _leaderBoard_ref);
};
#endif // !Settings_h