LkEngine 0.1.2
 
Loading...
Searching...
No Matches
EditorConsolePanel.h
1#pragma once
2
3#include "LkEngine/Renderer/UI/Panel.h"
4
5#include "LkEngine/Editor/EditorConsole/ConsoleMessage.h"
6
7
8namespace LkEngine {
9
11 {
12 public:
15
16 virtual void Render() override {}
17 virtual void RenderUI(bool& IsOpen) override;
18
19 virtual void OnProjectChanged(const TObjectPtr<LProject>& InProject) override;
20
21 virtual void SerializeToYaml(YAML::Emitter& Out) const override;
22 virtual void DeserializeFromYaml(const YAML::Node& Data) override;
23
24 private:
25 void RenderMenu(const ImVec2& InSize);
26 void RenderConsole(const ImVec2& InSize);
27
28 static const char* GetMessageType(const FConsoleMessage& Message);
29 static const ImVec4& GetMessageColor(const FConsoleMessage& Message);
30 ImVec4 GetToolbarButtonColor(const bool Value) const;
31
32 private:
33 static void PushMessage(const FConsoleMessage& Message);
34
35 private:
36 std::vector<FConsoleMessage> MessageBuffer;
37 int16_t VerbosityFilters = (int16_t)EConsoleVerbosity::All;
38 std::mutex MessageBufferMutex;
39
40 bool bClearOnPlay = true;
41 bool bDetailedPanelOpen = false;
42
43 bool bEnableScrollToLatest = true;
44 bool bScrollToLatest = false;
45 float bPreviousScrollY = 0.0f;
46
47 friend class LEditorConsoleSink;
48
50 };
51
52}
Definition Panel.h:18
Definition EditorConsolePanel.h:11
Definition ConsoleSink.h:15
Definition ObjectPtr.h:102
#define LCLASS(Class)
Definition CoreMacros.h:226
Definition Asset.h:11
Definition ConsoleMessage.h:29