#pragma once #include #include #include "renderer.hpp" enum class Slot { Body, Legs }; enum class Race { HyurMidlanderMale, HyurMidlanderFemale }; inline std::map raceNames = { {Race::HyurMidlanderMale, "Hyur Midlander Male"}, {Race::HyurMidlanderFemale, "Hyur Midlander Female"} }; inline std::unordered_map raceIDs = { {Race::HyurMidlanderMale, "0101"}, {Race::HyurMidlanderFemale, "0201"} }; struct ModelInfo { int primaryID; }; struct GearInfo { std::string name; Slot slot; ModelInfo modelInfo; }; inline std::unordered_map slotToName = { {Slot::Body, "top"}, {Slot::Legs, "dwn"} }; class GameData; class VulkanWindow; class StandaloneWindow; class MainWindow : public QMainWindow { public: MainWindow(GameData& data); void refreshModel(); private: std::vector gears; std::vector loadedGears; Race currentRace = Race::HyurMidlanderMale; GameData& data; Renderer* renderer; VulkanWindow* vkWindow; StandaloneWindow* standaloneWindow; };