2024-08-22 16:04:15 +00:00
|
|
|
#pragma once
|
2024-08-01 23:32:51 +00:00
|
|
|
|
|
|
|
#define GLFW_INCLUDE_NONE
|
|
|
|
#include "FrameBuffer.h"
|
|
|
|
#include <GLFW/glfw3.h>
|
|
|
|
#include <imgui.h>
|
|
|
|
#include <string>
|
2024-11-19 19:53:03 +00:00
|
|
|
#include <IconsFontAwesome6.h>
|
2024-08-01 23:32:51 +00:00
|
|
|
|
2024-08-22 15:55:30 +00:00
|
|
|
struct InspectorData
|
|
|
|
{
|
2024-08-27 20:24:08 +00:00
|
|
|
glm::vec3 m_Position;
|
|
|
|
glm::vec3 m_Rotation;
|
|
|
|
glm::vec3 m_Scale = {1.0f, 1.0f, 1.0f};
|
|
|
|
glm::vec3 m_ShaderColor = {1.0f, 1.0f, 1.0f};
|
|
|
|
glm::vec3 m_BgColor = {0.0, 0.1f, 0.2f};
|
2024-08-22 15:55:30 +00:00
|
|
|
};
|
|
|
|
|
2024-08-01 23:32:51 +00:00
|
|
|
class UI
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
UI();
|
|
|
|
~UI();
|
|
|
|
|
|
|
|
static void Init(GLFWwindow* window);
|
2024-11-19 19:53:03 +00:00
|
|
|
static void LoadConfigs();
|
2024-08-01 23:32:51 +00:00
|
|
|
static void Run();
|
|
|
|
static void Render(const FrameBuffer& sceneBuffer);
|
|
|
|
static void Shutdown();
|
|
|
|
|
|
|
|
static void Print(const std::string& message);
|
2024-08-22 15:55:30 +00:00
|
|
|
static InspectorData GetData();
|
2024-08-01 23:32:51 +00:00
|
|
|
|
|
|
|
static void ShowMenu();
|
2024-11-20 16:04:01 +00:00
|
|
|
static void ShowEntities();
|
|
|
|
static void ShowFiles();
|
2024-08-01 23:32:51 +00:00
|
|
|
static void ShowConsole();
|
|
|
|
static void ShowScene(const FrameBuffer& sceneBuffer);
|
2024-11-20 16:04:01 +00:00
|
|
|
static void ShowProperties();
|
2024-08-22 15:55:30 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
static InspectorData s_Data;
|
2024-08-27 20:24:08 +00:00
|
|
|
|
|
|
|
static std::string m_Log;
|
|
|
|
static ImVec4* m_StyleColors;
|
2024-08-22 16:04:15 +00:00
|
|
|
};
|