2026-03-20 17:08:06 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "Panel.h"
|
2026-03-31 21:28:16 +08:00
|
|
|
#include "UI/ConsoleFilterState.h"
|
|
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
#include <string>
|
2026-03-20 17:08:06 +08:00
|
|
|
|
2026-03-24 20:02:38 +08:00
|
|
|
namespace XCEngine {
|
|
|
|
|
namespace Editor {
|
2026-03-20 17:08:06 +08:00
|
|
|
|
|
|
|
|
class ConsolePanel : public Panel {
|
|
|
|
|
public:
|
|
|
|
|
ConsolePanel();
|
2026-03-31 21:28:16 +08:00
|
|
|
void OnAttach() override;
|
|
|
|
|
void OnDetach() override;
|
2026-03-20 17:08:06 +08:00
|
|
|
void Render() override;
|
2026-03-31 21:28:16 +08:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
void HandlePlayModeStarted();
|
|
|
|
|
void HandlePlayModeStopped();
|
|
|
|
|
void HandlePlayModePaused();
|
2026-04-02 19:56:07 +08:00
|
|
|
void HandlePlayModeResumed();
|
2026-03-31 21:28:16 +08:00
|
|
|
|
|
|
|
|
UI::ConsoleFilterState m_filterState;
|
|
|
|
|
char m_searchBuffer[256] = "";
|
|
|
|
|
uint64_t m_selectedSerial = 0;
|
|
|
|
|
uint64_t m_lastSeenRevision = 0;
|
|
|
|
|
uint64_t m_lastErrorPauseScanSerial = 0;
|
|
|
|
|
uint64_t m_playModeStartedHandlerId = 0;
|
|
|
|
|
uint64_t m_playModeStoppedHandlerId = 0;
|
|
|
|
|
uint64_t m_playModePausedHandlerId = 0;
|
2026-04-02 19:56:07 +08:00
|
|
|
uint64_t m_playModeResumedHandlerId = 0;
|
2026-03-31 21:28:16 +08:00
|
|
|
std::string m_selectedEntryKey;
|
|
|
|
|
float m_detailsHeight = 0.0f;
|
|
|
|
|
bool m_playModeActive = false;
|
|
|
|
|
bool m_playModePaused = false;
|
|
|
|
|
bool m_requestSearchFocus = false;
|
2026-04-04 17:10:15 +08:00
|
|
|
bool m_requestedTabSelectionRecovery = false;
|
|
|
|
|
bool m_requestedLayoutResetForCollapsedContent = false;
|
2026-03-20 17:08:06 +08:00
|
|
|
};
|
|
|
|
|
|
2026-03-24 20:02:38 +08:00
|
|
|
}
|
2026-03-26 22:31:22 +08:00
|
|
|
}
|