-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMenu.hpp
92 lines (62 loc) · 3.33 KB
/
Menu.hpp
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
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*--------------------------------****************************************----------------------------------
| * * |
| Ether's Quest * Menu class Declaration * |
| * * |
---------------------------------****************************************----------------------------------*/
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
The Menu class creates game menu object (Play, Information, Exit the game)
*/
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef MENU_HPP
#define MENU_HPP
#ifdef _MSC_VER
#pragma once
#endif // _MSC_VER
//****** Headers lib. files, must be declared first
//****** Contains Global Variables enumerators INST_TYPE, INST_RESULTS, PLAYER_STATE, ORIGINAL_WINDOW_SIZE, ORIGINAL_BTN_SIZE, BTN_TYPE
//****** and the structs Ether and Button
#include "hether.hpp"
#include "Instance.hpp"
#include "Exit_game.hpp"
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//---------------------------------------------- Class Menu ------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class Menu
{
//----------------------------------------------------------------------------------
// Variables
//----------------------------------------------------------------------------------
Texture2D img;
Button bar1, bar2, bar3;
vector<Button> menu_bars;
Instance instance,
info,
roll_info,
credits;
Exit_game x_game;
Sound ambience;
public:
//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
// Constructors
//----------------------------------------------------------------------------------
Menu();
Menu(Texture2D &img, vector<Button> &menu_bars, Exit_game &x_game, Instance &info, Instance &roll_info, Instance credits, Sound &amb);
//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
// Accessors
//----------------------------------------------------------------------------------
vector<Button> bars();
/*--------------------------------------------------------------------
Renders Menu instance
--------------------------------------------------------------------*/
void render_menu();
/*--------------------------------------------------------------------
Renders sub instance menu, info, roll_info, and credits
--------------------------------------------------------------------*/
void render_sub_instance(Instance &instance, Exit_game &x_game);
};
#endif