#pragma once #include "UCI.hpp" #include "ochess.hpp" #include #include wxDECLARE_EVENT(SHOW_ENGINE_EVALUATION, wxCommandEvent); typedef struct EngineEvaluation { std::vector best_lines; float eval=0; } EngineEvaluation; class LiveEngineDialog : public DialogLiveEngine { uciadapter::UCI *engine; std::string engine_name; wxTimer timer; /// @brief The following time interval definitely need to be configure in the user settings (set to 1s for now) std::uint32_t interval; public: LiveEngineDialog(wxWindow *parent, std::string engine_name); ~LiveEngineDialog(); void InitEngine(); void TogglePauseEngine(wxCommandEvent &event); void OnTimerTick(wxTimerEvent &event); void SetFEN(std::string fen); void StopEngine(); void StartEngine(); void OnClose(wxCloseEvent &e); };