LkEngine 0.1.2
 
Loading...
Searching...
No Matches
Panel.h
1#pragma once
2
4#include "LkEngine/Core/LObject/ObjectPtr.h"
5
7#include "LkEngine/Renderer/UI/Property.h"
8#include "LkEngine/Renderer/UI/TreeNode.h"
9#include "LkEngine/Renderer/UI/Table.h"
10
11#include "LkEngine/Serialization/YamlSerialization.h"
12
13namespace LkEngine {
14
15 class LProject;
16
17 class IPanel : public LObject
18 {
19 public:
20 virtual ~IPanel() = default;
21
22 virtual void Initialize() {};
23
24 virtual void Render() = 0;
25 virtual void RenderUI(bool& IsOpen) = 0;
26
27 virtual void OnProjectChanged(const TObjectPtr<LProject>& InProject) {};
28
29 virtual void SerializeToYaml(YAML::Emitter& Out) const = 0;
30 virtual void DeserializeFromYaml(const YAML::Node& Data) = 0;
31
32 protected:
38 struct FWindow
39 {
40 bool bOpen = false;
41
42 FWindow() : bOpen(false) {}
43 };
44
45 };
46
47}
LObject implementation.
Core UI.
Definition Panel.h:18
virtual void Initialize()
Initialize object.
Definition Panel.h:22
Definition Object.h:46
Definition ObjectPtr.h:102
Definition Asset.h:11
Definition Panel.h:39