2022-04-11 21:59:37 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QMainWindow>
|
2022-04-12 16:19:06 -04:00
|
|
|
#include <unordered_map>
|
2022-04-11 21:59:37 -04:00
|
|
|
|
2022-04-11 23:11:33 -04:00
|
|
|
#include "renderer.hpp"
|
2022-04-17 16:55:54 -04:00
|
|
|
#include "types/slot.h"
|
|
|
|
#include "types/race.h"
|
2022-04-12 12:39:33 -04:00
|
|
|
|
|
|
|
struct ModelInfo {
|
2022-04-12 15:28:29 -04:00
|
|
|
int primaryID;
|
2022-04-12 12:39:33 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
struct GearInfo {
|
|
|
|
std::string name;
|
|
|
|
Slot slot;
|
|
|
|
ModelInfo modelInfo;
|
|
|
|
};
|
|
|
|
|
2022-04-11 21:59:37 -04:00
|
|
|
class GameData;
|
2022-04-12 12:39:33 -04:00
|
|
|
class VulkanWindow;
|
2022-04-12 16:19:06 -04:00
|
|
|
class StandaloneWindow;
|
2022-04-11 21:59:37 -04:00
|
|
|
|
|
|
|
class MainWindow : public QMainWindow {
|
|
|
|
public:
|
|
|
|
MainWindow(GameData& data);
|
|
|
|
|
2022-04-12 12:39:33 -04:00
|
|
|
void refreshModel();
|
|
|
|
|
2022-04-12 20:18:22 -04:00
|
|
|
void exportModel(Model& model, QString fileName);
|
2022-04-12 20:02:50 -04:00
|
|
|
|
2022-04-11 21:59:37 -04:00
|
|
|
private:
|
2022-04-12 12:39:33 -04:00
|
|
|
std::vector<GearInfo> gears;
|
|
|
|
std::vector<GearInfo*> loadedGears;
|
|
|
|
|
2022-04-12 12:43:27 -04:00
|
|
|
Race currentRace = Race::HyurMidlanderMale;
|
2022-04-14 10:32:41 -04:00
|
|
|
int currentLod = 0;
|
2022-04-12 12:39:33 -04:00
|
|
|
|
2022-04-11 21:59:37 -04:00
|
|
|
GameData& data;
|
2022-04-11 23:11:33 -04:00
|
|
|
|
|
|
|
Renderer* renderer;
|
2022-04-12 12:39:33 -04:00
|
|
|
VulkanWindow* vkWindow;
|
2022-04-12 16:19:06 -04:00
|
|
|
StandaloneWindow* standaloneWindow;
|
2022-04-11 21:59:37 -04:00
|
|
|
};
|