2023-07-30 06:14:30 +03:00
|
|
|
#pragma once
|
2024-01-25 00:58:38 +02:00
|
|
|
#include "..\core.h"
|
2023-07-30 06:14:30 +03:00
|
|
|
|
|
|
|
namespace Menu {
|
2024-01-29 01:52:08 +02:00
|
|
|
class MenuTab {
|
|
|
|
public:
|
|
|
|
MenuTab(std::string_view name, int tabIndex) : tabName(name), tabIndex(tabIndex) { GetInstances()->insert({ tabIndex, this}); };
|
|
|
|
~MenuTab() { GetInstances()->erase({ tabIndex, this }); }
|
|
|
|
static std::set<std::pair<int, MenuTab*>>* GetInstances() { static std::set<std::pair<int, MenuTab*>> instances{}; return &instances; };
|
|
|
|
|
|
|
|
virtual void Render() {};
|
|
|
|
virtual void Update() {};
|
|
|
|
|
|
|
|
std::string_view tabName{};
|
|
|
|
private:
|
|
|
|
int tabIndex{};
|
|
|
|
};
|
|
|
|
|
2024-02-17 21:45:24 +02:00
|
|
|
extern const std::string title;
|
|
|
|
extern ImGuiStyle defStyle;
|
|
|
|
extern ImTextureID EGTLogoTexture;
|
|
|
|
|
2024-01-25 00:58:38 +02:00
|
|
|
extern KeyBindOption menuToggle;
|
2024-02-15 04:07:58 +02:00
|
|
|
extern float opacity;
|
2024-02-03 20:40:17 +02:00
|
|
|
extern float scale;
|
2023-07-30 06:14:30 +03:00
|
|
|
|
2024-02-05 03:23:00 +02:00
|
|
|
extern Option firstTimeRunning;
|
2024-02-12 03:51:26 +02:00
|
|
|
extern Option hasSeenChangelog;
|
2024-02-05 03:23:00 +02:00
|
|
|
|
2023-07-30 06:14:30 +03:00
|
|
|
extern void Render();
|
|
|
|
}
|