Olympe Engine
2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Source
system
SystemMenu.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <vector>
4
#include <string>
5
#include "
system_utils.h
"
6
7
// Lightweight System menu singleton used by GameEngine to provide global
8
// application-level menu controls (show/hide, basic commands).
9
// This implementation is intentionally minimal and independent from the
10
// event system so it can be activated simply by calling SystemMenu::Get().
11
12
class
SystemMenu
13
{
14
public
:
15
SystemMenu
()
16
{
17
// default entries
18
m_items
.push_back(
"About"
);
19
m_items
.push_back(
"Settings"
);
20
m_items
.push_back(
"Exit"
);
21
name
=
"SystemMenu"
;
22
SYSTEM_LOG
<<
"SystemMenu Initialized\n"
;
23
}
24
virtual
~SystemMenu
()
25
{
26
SYSTEM_LOG
<<
"SystemMenu Shutdown\n"
;
27
}
28
29
static
SystemMenu
&
GetInstance
();
30
static
SystemMenu
&
Get
() {
return
GetInstance
(); }
31
32
void
Activate
();
// make menu active / visible
33
void
Deactivate
();
// hide menu
34
void
Toggle
();
35
bool
IsActive
()
const
{
return
m_active
; }
36
37
// Basic operations that a system menu might expose
38
void
AddItem
(
const
std::string&
item
);
39
void
RemoveItem
(
const
std::string&
item
);
40
const
std::vector<std::string>&
Items
()
const
{
return
m_items
; }
41
42
private
:
43
std::string
name
;
44
bool
m_active
=
false
;
45
std::vector<std::string>
m_items
;
46
};
GetComponentTypeID_Static
ComponentTypeID GetComponentTypeID_Static()
Definition
ECS_Entity.h:56
SystemMenu
Definition
SystemMenu.h:13
SystemMenu::name
std::string name
Definition
SystemMenu.h:43
SystemMenu::Toggle
void Toggle()
Definition
SystemMenu.cpp:27
SystemMenu::Activate
void Activate()
Definition
SystemMenu.cpp:12
SystemMenu::SystemMenu
SystemMenu()
Definition
SystemMenu.h:15
SystemMenu::IsActive
bool IsActive() const
Definition
SystemMenu.h:35
SystemMenu::Get
static SystemMenu & Get()
Definition
SystemMenu.h:30
SystemMenu::m_items
std::vector< std::string > m_items
Definition
SystemMenu.h:45
SystemMenu::m_active
bool m_active
Definition
SystemMenu.h:44
SystemMenu::AddItem
void AddItem(const std::string &item)
Definition
SystemMenu.cpp:32
SystemMenu::Items
const std::vector< std::string > & Items() const
Definition
SystemMenu.h:40
SystemMenu::GetInstance
static SystemMenu & GetInstance()
Definition
SystemMenu.cpp:6
SystemMenu::~SystemMenu
virtual ~SystemMenu()
Definition
SystemMenu.h:24
SystemMenu::Deactivate
void Deactivate()
Definition
SystemMenu.cpp:20
SystemMenu::RemoveItem
void RemoveItem(const std::string &item)
Definition
SystemMenu.cpp:38
system_utils.h
SYSTEM_LOG
#define SYSTEM_LOG
Definition
system_utils.h:23
Generated on Tue Feb 17 2026 13:49:10 for Olympe Engine by
1.9.8