diff --git a/application/driveruipanels.cpp b/application/driveruipanels.cpp index e318d356..f7519feb 100644 --- a/application/driveruipanels.cpp +++ b/application/driveruipanels.cpp @@ -206,6 +206,24 @@ drivingaid_panel::update() { } } +void +drivingaid_panel::render_contents() { + ImGui::Checkbox(STR_C("expand"), &is_expanded); + + ImGui::SameLine(); + + auto const *driver = (simulation::Train && simulation::Train->Dynamic()) ? simulation::Train->Dynamic()->Mechanik : nullptr; + if (driver && (false == Global.RealisticControlMode || DebugModeFlag)) { + bool autopilot = driver->AIControllFlag; + if (ImGui::Checkbox(STR_C("autopilot"), &autopilot)) { + command_relay commandrelay; + commandrelay.post(autopilot ? user_command::aidriverenable : user_command::aidriverdisable, 0.0, 0.0, GLFW_PRESS, 0); + } + } + + ui_panel::render_contents(); +} + void scenario_panel::update() { diff --git a/application/driveruipanels.h b/application/driveruipanels.h index 96b9ac1c..393d0e9a 100644 --- a/application/driveruipanels.h +++ b/application/driveruipanels.h @@ -20,6 +20,7 @@ public: {} void update() override; + void render_contents() override; private: // members