#pragma once #include #include #include #include #include #include #include namespace lt { class Scene; class EditorLayer: public Layer { public: EditorLayer(const std::string &name); ~EditorLayer() override; 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; void on_render() override; void on_user_interface_update() override; private: std::string m_scene_dir; math::vec2 m_direction; float m_speed = 1000.0f; Ref m_scene; Ref m_sceneHierarchyPanel; Ref m_properties_panel; Ref m_content_browser_panel; Ref m_framebuffer; Entity m_camera_entity; ImVec2 m_available_content_region_prev; }; } // namespace lt