Elaztek Developer Hub
Blamite Game Engine - blam!  00357.06.18.22.0809.blamite
The core library for the Blamite Game Engine.
console.h
Go to the documentation of this file.
1 #pragma once
2 
6 
8 {
9 public:
12  byte opacity = 255;
14 
15  int visible_ticks = 0;
16 
19 
20  void Reconfigure(BlamLogMessage _message);
21  void Deconfigure();
22 };
23 
25 {
26 private:
27  BlamUIWidget_Text* prompt = nullptr;
28  BlamUIWidget_Text* input = nullptr;
29 
30  std::vector<BlamConsoleHistoryEntry*> history = std::vector<BlamConsoleHistoryEntry*>();
31 
32  // column distance is 346px
33  std::vector<std::vector<BlamConsoleHistoryEntry*>> help_columns = std::vector<std::vector<BlamConsoleHistoryEntry*>>();
34 
35  std::vector<std::string> input_history = std::vector<std::string>();
36  int selected_history_index = -1;
37 
38  std::string command_input = "";
39  int cursor_position = 0;
40  bool prompt_hidden = true;
41 
42  int column_count = 6;
43  int column_width = 346;
44  int max_output_lines = 32;
45  float output_line_height = 32.0f;
46 
47  void RebuildHelpColumns();
48  void BuildHelpGuide();
49 
50 public:
53 
54  void Draw() override;
55  void ShowImGuiPropertyEditor() override;
56  void UpdateMetrics() override;
57  void RefreshRelativePosition() override;
58 
59  void OnKeyPressEvent(KeyPressEvent* event) override;
60  void OnCharacterInputEvent(CharacterInputEvent* event) override;
61  void OnTickEvent(TickEvent* event) override;
62  void OnLogMessageEvent(LogMessageEvent* event) override;
63 };
CharacterInputEvent
Class representing a character input event.
Definition: CharacterInputEvent.h:10
ui.h
BlamUIWidget_Console::ShowImGuiPropertyEditor
void ShowImGuiPropertyEditor() override
Definition: BlamUIWidget_Console.cpp:149
BlamConsoleHistoryEntry::text_element
BlamUIWidget_Text * text_element
Definition: console.h:11
BlamConsoleHistoryEntry::visible_ticks
int visible_ticks
Definition: console.h:15
BlamConsoleHistoryEntry::BlamConsoleHistoryEntry
BlamConsoleHistoryEntry()
Definition: BlamConsoleHistoryEntry.cpp:5
BlamUIWidget_Group
Definition: ui.h:111
logger.h
BlamConsoleHistoryEntry::creation_tick
uint64_t creation_tick
Definition: console.h:10
BlamUIWidget_Console::UpdateMetrics
void UpdateMetrics() override
Definition: BlamUIWidget_Console.cpp:162
BlamUIWidget_Console::~BlamUIWidget_Console
~BlamUIWidget_Console()
Definition: BlamUIWidget_Console.cpp:59
BlamUIWidget_Console::OnCharacterInputEvent
void OnCharacterInputEvent(CharacterInputEvent *event) override
Called when the listener is subscribed to Character Input events, and a new CharacterInputEvent is fi...
Definition: BlamUIWidget_Console.cpp:284
BlamUIWidget_Console::BlamUIWidget_Console
BlamUIWidget_Console(BlamUIWidget_Group *_parent)
Definition: BlamUIWidget_Console.cpp:16
BlamConsoleHistoryEntry::~BlamConsoleHistoryEntry
~BlamConsoleHistoryEntry()
Definition: BlamConsoleHistoryEntry.cpp:16
KeyPressEvent
Class representing a virtual key press.
Definition: KeyPressEvent.h:12
BlamUIWidget_Console::RefreshRelativePosition
void RefreshRelativePosition() override
Definition: BlamUIWidget_Console.cpp:184
events.h
TickEvent
Class representing an engine tick event.
Definition: TickEvent.h:12
BlamUIWidget_Console::Draw
void Draw() override
Definition: BlamUIWidget_Console.cpp:87
uint64_t
unsigned __int64 uint64_t
Definition: stdint.h:136
BlamConsoleHistoryEntry::Reconfigure
void Reconfigure(BlamLogMessage _message)
Definition: BlamConsoleHistoryEntry.cpp:22
BlamConsoleHistoryEntry::opacity
byte opacity
Definition: console.h:12
LogMessageEvent
Class representing a log message event.
Definition: LogMessage.h:12
BlamUIWidget
Definition: ui.h:67
BlamConsoleHistoryEntry::Deconfigure
void Deconfigure()
Definition: BlamConsoleHistoryEntry.cpp:35
BlamUIWidget_Console
Definition: console.h:24
BlamUIWidget_Console::OnLogMessageEvent
void OnLogMessageEvent(LogMessageEvent *event) override
Called when the listener is subscribed to Log Message events, and a new LogMessageEvent is fired.
Definition: BlamUIWidget_Console.cpp:350
BlamConsoleHistoryEntry
Definition: console.h:7
BlamLogMessage
Structure to store log message data.
Definition: logger.h:64
BlamEventListener
Class representing an Event Listener.
Definition: events.h:29
BlamUIWidget_Console::OnTickEvent
void OnTickEvent(TickEvent *event) override
Called when the listener is subscribed to Key Press events, and a new TickEvent is fired.
Definition: BlamUIWidget_Console.cpp:314
BlamConsoleHistoryEntry::message
BlamLogMessage message
Definition: console.h:13
BlamUIWidget_Text
Definition: ui.h:137
BlamUIWidget_Console::OnKeyPressEvent
void OnKeyPressEvent(KeyPressEvent *event) override
Called when the listener is subscribed to Key Press events, and a new KeyPressEvent is fired.
Definition: BlamUIWidget_Console.cpp:200