feat: add play mode pause resume and step controls

This commit is contained in:
2026-04-02 19:56:07 +08:00
parent fb15d60be9
commit 1f29dfd611
11 changed files with 270 additions and 3 deletions

View File

@@ -889,6 +889,12 @@ void ConsolePanel::OnAttach() {
HandlePlayModePaused();
});
}
if (!m_playModeResumedHandlerId) {
m_playModeResumedHandlerId = m_context->GetEventBus().Subscribe<PlayModeResumedEvent>(
[this](const PlayModeResumedEvent&) {
HandlePlayModeResumed();
});
}
}
void ConsolePanel::OnDetach() {
@@ -908,6 +914,10 @@ void ConsolePanel::OnDetach() {
m_context->GetEventBus().Unsubscribe<PlayModePausedEvent>(m_playModePausedHandlerId);
m_playModePausedHandlerId = 0;
}
if (m_playModeResumedHandlerId) {
m_context->GetEventBus().Unsubscribe<PlayModeResumedEvent>(m_playModeResumedHandlerId);
m_playModeResumedHandlerId = 0;
}
}
void ConsolePanel::HandlePlayModeStarted() {
@@ -941,6 +951,11 @@ void ConsolePanel::HandlePlayModePaused() {
m_playModePaused = true;
}
void ConsolePanel::HandlePlayModeResumed() {
m_playModeActive = true;
m_playModePaused = false;
}
void ConsolePanel::Render() {
UI::PanelWindowScope panel(m_name.c_str());
if (!panel.IsOpen()) {