2021-08-14 16:17:33 +04:30
|
|
|
#pragma once
|
|
|
|
|
2025-07-11 02:35:28 +03:30
|
|
|
#include <app/layer.hpp>
|
2025-07-11 02:22:21 +03:30
|
|
|
#include <imgui.h>
|
2025-07-17 10:44:00 +03:30
|
|
|
#include <math/vec2.hpp>
|
2025-07-20 04:46:15 +03:30
|
|
|
#include <mirror/panels/asset_browser.hpp>
|
|
|
|
#include <mirror/panels/properties.hpp>
|
|
|
|
#include <mirror/panels/scene_hierarchy.hpp>
|
2025-07-11 02:35:28 +03:30
|
|
|
#include <renderer/texture.hpp>
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-11 00:05:48 +03:30
|
|
|
namespace lt {
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-11 01:16:52 +03:30
|
|
|
class Scene;
|
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
class EditorLayer: public Layer
|
|
|
|
{
|
2025-07-05 15:36:53 +03:30
|
|
|
public:
|
|
|
|
EditorLayer(const std::string &name);
|
|
|
|
|
2025-07-06 15:10:34 +03:30
|
|
|
~EditorLayer() override;
|
2025-07-05 15:36:53 +03:30
|
|
|
|
2025-07-06 15:10:34 +03:30
|
|
|
EditorLayer(EditorLayer &&) = delete;
|
|
|
|
|
|
|
|
EditorLayer(const EditorLayer &) = delete;
|
|
|
|
|
|
|
|
auto operator=(EditorLayer &&) const -> EditorLayer & = delete;
|
|
|
|
|
|
|
|
auto operator=(const EditorLayer &) const -> EditorLayer & = delete;
|
|
|
|
|
|
|
|
void on_update(float delta_time) override;
|
2025-07-05 15:36:53 +03:30
|
|
|
|
|
|
|
void on_render() override;
|
|
|
|
|
|
|
|
void on_user_interface_update() override;
|
|
|
|
|
2022-03-04 22:40:20 +03:30
|
|
|
private:
|
2025-07-05 14:23:01 +03:30
|
|
|
std::string m_scene_dir;
|
2021-10-08 22:59:47 +03:30
|
|
|
|
2025-07-17 10:44:00 +03:30
|
|
|
math::vec2 m_direction;
|
2025-07-05 15:36:53 +03:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
float m_speed = 1000.0f;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
Ref<Scene> m_scene;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
Ref<SceneHierarchyPanel> m_sceneHierarchyPanel;
|
2025-07-05 15:36:53 +03:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
Ref<PropertiesPanel> m_properties_panel;
|
2025-07-05 15:36:53 +03:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
Ref<AssetBrowserPanel> m_content_browser_panel;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
Ref<Framebuffer> m_framebuffer;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
Entity m_camera_entity;
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-05 14:23:01 +03:30
|
|
|
ImVec2 m_available_content_region_prev;
|
2022-03-04 22:40:20 +03:30
|
|
|
};
|
2021-08-14 16:17:33 +04:30
|
|
|
|
2025-07-11 00:05:48 +03:30
|
|
|
} // namespace lt
|