Raftel Engine
 
Loading...
Searching...
No Matches
imguiWindows.hpp
1#ifndef IMGUI_WINDOWS_HPP
2#define IMGUI_WINDOWS_HPP
3
4#include "raftel/ecs.hpp"
5#include "raftel/camera.hpp"
6#include "imgui.h"
7#include <unordered_map>
8
9namespace Raftel {
10
14 class Editor {
15 public:
20
25
32
38
40
41 private:
42 bool useGizmo;
43
48 void ShowCameraControlWindow(Raftel::Camera& cam);
49
54 void ShowEntityCreatorWindow(EntityManager& ecs);
55
60 void ShowEntityPropertiesWindow(EntityManager& ecs);
61
67 void ShowGizmoControls(EntityManager& ecs, Camera& cam);
68
74 void LightComponent(std::optional<Raftel::LightComponent>& l, std::optional<Raftel::TransformComponent>& t);
75
76 ImGuiStyle& style;
77 ImVec2 CameraComtrolSize;
78 ImVec2 EnityCreatorSize;
79 Raftel::EntityWindowState entityWindow;
80
81 NO_COPYABLE_OR_MOVABLE(Editor)
82 };
83
84}
85
86#endif
Camera class for handling movement and view transformations.
Definition camera.hpp:27
void ShowShadowMaps(EntityManager &ecs)
Displays shadow maps for entities with light components.
void Show(Raftel::Camera &cam, EntityManager &ecs)
Displays the main editor UI for managing entities and the camera.
Editor()
Constructs an Editor object.
~Editor()
Destructor for the Editor.
Manages entities in the ECS (Entity Component System).
Definition ecs.hpp:223
Stores the state of the entity window in the UI.