add main logic
This commit is contained in:
70
RenderManager.as
Normal file
70
RenderManager.as
Normal file
@@ -0,0 +1,70 @@
|
||||
namespace RenderManager {
|
||||
bool G_RenderInterface = Meta::IsDeveloperMode(); // render by default in dev mode
|
||||
|
||||
void RenderInterface() {
|
||||
if (G_RenderInterface) {
|
||||
UI::Begin(Icons::Television + " Custom Interface Loader", G_RenderInterface);
|
||||
|
||||
if (UI::Button('Open Folder')) {
|
||||
OpenExplorerPath(IO::FromStorageFolder(''));
|
||||
}
|
||||
|
||||
UI::SameLine();
|
||||
|
||||
if (UI::Button('Reload')) {
|
||||
InterfacesManager::LoadConfigs();
|
||||
}
|
||||
|
||||
if (UI::BeginTable('configs', 5, UI::TableFlags(UI::TableFlags::Resizable | UI::TableFlags::Sortable | UI::TableFlags::NoSavedSettings | UI::TableFlags::BordersInnerV | UI::TableFlags::SizingStretchProp | UI::TableFlags::ScrollY))) {
|
||||
UI::TableSetupColumn("Name", UI::TableColumnFlags::DefaultSort);
|
||||
UI::TableSetupColumn("Author", UI::TableColumnFlags::None);
|
||||
UI::TableSetupColumn("Version", UI::TableColumnFlags::None);
|
||||
UI::TableSetupColumn("Mode Pattern", UI::TableColumnFlags::NoResize);
|
||||
UI::TableSetupColumn("Enable", UI::TableFlags(UI::TableColumnFlags::NoResize | UI::TableColumnFlags::WidthFixed), 60.);
|
||||
UI::TableHeadersRow();
|
||||
|
||||
const array<string> ConfigIds = InterfacesManager::G_Configs.GetKeys();
|
||||
|
||||
for (uint i = 0; i < ConfigIds.Length; i++) {
|
||||
const string Id = ConfigIds[i];
|
||||
const InterfacesConfig@ Config = InterfacesManager::GetConfig(Id);
|
||||
|
||||
UI::TableNextRow();
|
||||
UI::TableNextColumn();
|
||||
UI::Text(Config.Name);
|
||||
UI::TableNextColumn();
|
||||
UI::Text(Config.Author);
|
||||
UI::TableNextColumn();
|
||||
UI::Text(Config.Version);
|
||||
UI::TableNextColumn();
|
||||
UI::Text(Config.ModePattern);
|
||||
UI::TableNextColumn();
|
||||
|
||||
const int index = InterfacesManager::G_EnabledConfigs.Find(Id);
|
||||
const bool enabled = (index >= 0);
|
||||
const bool newValue = UI::Checkbox('###'+ Id, enabled);
|
||||
if (newValue != enabled) {
|
||||
if (enabled) {
|
||||
InterfacesManager::DisableInterface(Id);
|
||||
} else {
|
||||
InterfacesManager::EnableInterface(Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
UI::EndTable();
|
||||
}
|
||||
|
||||
UI::End();
|
||||
}
|
||||
}
|
||||
|
||||
void RenderMenu() {
|
||||
if (UI::MenuItem(Icons::Television + ' Custom Interface Loader', "", G_RenderInterface)) {
|
||||
G_RenderInterface = !G_RenderInterface;
|
||||
}
|
||||
}
|
||||
|
||||
void NotifyWarning(const string &in _Message) {
|
||||
UI::ShowNotification('Custom Interfaces Loader', _Message, vec4(0.9, 0.7, 0.2, 1.), 5000);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user