2021-08-14 16:17:33 +04:30
|
|
|
#pragma once
|
|
|
|
|
2022-03-08 21:19:19 +03:30
|
|
|
#include "Panels/ContentBrowser.hpp"
|
|
|
|
#include "Panels/PropertiesPanel.hpp"
|
|
|
|
#include "Panels/SceneHierarchyPanel.hpp"
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-08 21:19:19 +03:30
|
|
|
#include <LightEngine.hpp>
|
2021-08-14 16:17:33 +04:30
|
|
|
#include <glm/gtc/matrix_transform.hpp>
|
|
|
|
|
|
|
|
namespace Light {
|
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
class EditorLayer: public Layer
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
std::string m_SceneDir;
|
2021-10-08 22:59:47 +03:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
// #todo: add camera controller class to the engine
|
|
|
|
glm::vec2 m_Direction;
|
|
|
|
float m_Speed = 1000.0f;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
Ref<Scene> m_Scene;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
Ref<SceneHierarchyPanel> m_SceneHierarchyPanel;
|
|
|
|
Ref<PropertiesPanel> m_PropertiesPanel;
|
2022-03-07 20:01:44 +03:30
|
|
|
Ref<AssetBrowserPanel> m_ContentBrowserPanel;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
Ref<Framebuffer> m_Framebuffer;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
Entity m_CameraEntity;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
ImVec2 m_AvailableContentRegionPrev;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
public:
|
|
|
|
EditorLayer(const std::string& name, const std::vector<std::string>& args);
|
|
|
|
~EditorLayer();
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
void OnUpdate(float deltaTime) override;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
void OnRender() override;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
void OnUserInterfaceUpdate() override;
|
|
|
|
};
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
} // namespace Light
|