mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
* Core tracker code mostly done. * Format * Clean up enums. * Format * Header cleanup * Update * use CVars * format * Add editor to modern menu * format * Fix item tracker cvar loading/saving and add item tracker button for modern menu * update button label --------- Co-authored-by: Archez <archez39@me.com>
78 lines
3.4 KiB
C++
78 lines
3.4 KiB
C++
#include "ItemTrackerSettings.h"
|
|
#include "ItemTracker.h"
|
|
#include "../../BenGui/UIWidgets.hpp"
|
|
|
|
namespace BenGui {
|
|
extern std::shared_ptr<ItemTrackerWindow> mItemTrackerWindow;
|
|
}
|
|
|
|
using namespace BenGui;
|
|
|
|
void ItemTrackerSettingsWindow::UpdateElement() {
|
|
}
|
|
|
|
void ItemTrackerSettingsWindow::InitElement() {
|
|
}
|
|
|
|
static const char* windowTypes[2] = { "Floating", "Window" };
|
|
static const char* displayTypes[3] = { "Hidden", "Main Window", "Separate" };
|
|
static const char* displayModes[2] = { "Always", "Combo Button Hold" };
|
|
|
|
void ItemTrackerSettingsWindow::DrawElement() {
|
|
ImGui::SetNextWindowSize(ImVec2(733, 472), ImGuiCond_FirstUseEver);
|
|
const UIWidgets::FloatSliderOptions sliderOpts = { .format = "%.0f", .step = 1.0f };
|
|
|
|
if (!ImGui::BeginChild("Item Tracker Settings")) {
|
|
ImGui::EndChild();
|
|
return;
|
|
}
|
|
|
|
UIWidgets::WindowButton("Show/Hide Item Tracker", "gWindows.ItemTracker", mItemTrackerWindow,
|
|
{ .size = UIWidgets::Sizes::Inline });
|
|
|
|
ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, { 8.0f, 8.0f });
|
|
ImGui::BeginTable("itemTrackerSettingsTable", 2, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV);
|
|
ImGui::TableSetupColumn("General settings", ImGuiTableColumnFlags_WidthStretch, 200.0f);
|
|
ImGui::TableSetupColumn("Section settings", ImGuiTableColumnFlags_WidthStretch, 200.0f);
|
|
ImGui::TableHeadersRow();
|
|
ImGui::TableNextRow();
|
|
ImGui::TableNextColumn();
|
|
ImGui::Text("BG Color");
|
|
ImGui::SameLine();
|
|
|
|
ImGui::PushItemWidth(ImGui::GetContentRegionAvail().x);
|
|
|
|
ImGui::ColorEdit4("BG Color", (float*)mItemTrackerWindow->GetBgColorPtr(),
|
|
ImGuiColorEditFlags_AlphaPreview | ImGuiColorEditFlags_AlphaBar | ImGuiColorEditFlags_NoLabel);
|
|
|
|
UIWidgets::Combobox("Window Type", mItemTrackerWindow->GetWindowTypePtr(), windowTypes);
|
|
UIWidgets::Checkbox("Enable Dragging", mItemTrackerWindow->GetIsDraggablePtr());
|
|
UIWidgets::Checkbox("Only enable while paused", mItemTrackerWindow->GetOnlyShowPausedPtr());
|
|
|
|
UIWidgets::SliderFloat("Icon size : %.0fpx", mItemTrackerWindow->GetIconSizePtr(), 0.0f, 128.0f, sliderOpts);
|
|
UIWidgets::SliderFloat("Icon margins : %.0fpx", mItemTrackerWindow->GetIconSpacingPtr(), -5.0f, 50.0f, sliderOpts);
|
|
UIWidgets::SliderFloat("Text size : %.0fpx", mItemTrackerWindow->GetTextSizePtr(), 1.0f, 30.0f, sliderOpts);
|
|
UIWidgets::SliderFloat("Text Offset : %0.fpx", mItemTrackerWindow->GetTextOffsetPtr(), 0.0f, 40.0f, sliderOpts);
|
|
|
|
ImGui::TableNextColumn();
|
|
|
|
UIWidgets::Combobox("Inventory", mItemTrackerWindow->GetDrawModePtr(SECTION_INVENTORY), displayTypes);
|
|
UIWidgets::Combobox("Masks", mItemTrackerWindow->GetDrawModePtr(SECTION_MASKS), displayTypes);
|
|
UIWidgets::Combobox("Songs", mItemTrackerWindow->GetDrawModePtr(SECTION_SONGS), displayTypes);
|
|
UIWidgets::Combobox("Dungeon Items", mItemTrackerWindow->GetDrawModePtr(SECTION_DUNGEON), displayTypes);
|
|
|
|
UIWidgets::Checkbox("Draw Current Ammo",
|
|
mItemTrackerWindow->GetCapacityModePtr(ItemTrackerCapacityMode::DrawCurrent));
|
|
|
|
UIWidgets::Checkbox("Draw Current Capacity",
|
|
mItemTrackerWindow->GetCapacityModePtr(ItemTrackerCapacityMode::DrawCurCapacity));
|
|
|
|
UIWidgets::Checkbox("Draw Max Capacity",
|
|
mItemTrackerWindow->GetCapacityModePtr(ItemTrackerCapacityMode::DrawMaxCapacity));
|
|
|
|
ImGui::PopStyleVar(1);
|
|
ImGui::EndTable();
|
|
|
|
ImGui::EndChild();
|
|
}
|