diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2023-01-11 10:46:14 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2023-01-11 10:46:14 +0100 |
| commit | 9091232b609de875894379b3903b555c0a53957e (patch) | |
| tree | 56b5b0f9296153ffe31bb73c7dd948395b0735a8 /src/game_tab/left_panel/GameTabLeftPanel.cpp | |
| parent | 5fac6bf7af2767e9e8ec57a4ceb9c504f5d8d27f (diff) | |
Add engine evaluation bar
Diffstat (limited to 'src/game_tab/left_panel/GameTabLeftPanel.cpp')
| -rw-r--r-- | src/game_tab/left_panel/GameTabLeftPanel.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp index cfe0de8..5a1ae44 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.cpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp @@ -60,6 +60,7 @@ GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game) } void GameTabLeftPanel::OnPlay(wxCommandEvent &event) { + engine_arrows.clear(); // Remove displayed engine arrows std::string move=event.GetString().ToStdString(); int size=move.size(); char promote=(char)event.GetInt(); @@ -84,17 +85,18 @@ void GameTabLeftPanel::OnPlay(wxCommandEvent &event) { Notify(true); // Redraw event is move failed! Otherwise piece not resets to it initial position after dragging } -void GameTabLeftPanel::SetEngineArrows(std::vector<std::string> arrows){ +void GameTabLeftPanel::SetEngineEvaluation(EngineEvaluation eval){ engine_arrows.clear(); float scale=1; unsigned char color=0; - for(auto const &arrow:arrows){ + for(auto const &arrow: eval.best_lines){ std::string src=arrow.substr(0,2); std::string dst=arrow.substr(2,2); engine_arrows.push_back({src,dst,wxColour(color,color,color),scale}); scale=std::max(0.1,scale-0.25); color=std::min(255,color+70); } + eval_cp=eval.eval; Notify(true); } @@ -136,6 +138,8 @@ void GameTabLeftPanel::Notify(bool skip_animation) { gs.mat_white=game->IsCheckmate(false); gs.arrows=engine_arrows; gs.promotion=promote_on; + gs.show_evalbar=engine_arrows.size()>0; + gs.eval=eval_cp/100; if(m){ // There should be a valid src_hl or dst_hl ortherwise it explode: std::string src_hl, dst_hl; |
