diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-28 12:40:16 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-12-28 12:40:16 +0100 |
| commit | 7187e6d6ee8d2cec38cd9580e315a00d0c763e99 (patch) | |
| tree | 87b1931a0568c267931157cc02c55b11cd93a7e1 /src/game_tab/left_panel/GameTabLeftPanel.cpp | |
| parent | c451c63aaa6c898081fc658180e175e23b6f1bbb (diff) | |
Prepare for pieces animation step2
Diffstat (limited to 'src/game_tab/left_panel/GameTabLeftPanel.cpp')
| -rw-r--r-- | src/game_tab/left_panel/GameTabLeftPanel.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp index b3b5a95..5a0c430 100644 --- a/src/game_tab/left_panel/GameTabLeftPanel.cpp +++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp @@ -26,7 +26,7 @@ GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game) void GameTabLeftPanel::OnPreviousMove(wxCommandEvent &event) { game->Previous(); - Notify(); + Notify(true); NotifyEditor(); } @@ -48,7 +48,7 @@ void GameTabLeftPanel::OnSwap(wxCommandEvent &event) { void GameTabLeftPanel::OnNextMove(wxCommandEvent &event) { wxLogDebug("Game tab received NEXT_MOVE_EVENT"); game->Next(); - Notify(); + Notify(true); NotifyEditor(); } @@ -59,26 +59,30 @@ void GameTabLeftPanel::OnPlay(wxCommandEvent &event) { } Notify(); - std::string fen = game->GetFen(); std::map<char, std::uint8_t> captures; HalfMove *m = game->GetCurrentMove(); if (m != NULL) { captures = m->GetLineCaptures(); - } - /*board_canvas->Animate(chessarbiter::FENParser::Parse(fen).board, - game->IsBlackToPlay(), captures,"a1","a2"); */ + } } -void GameTabLeftPanel::Notify() { +void GameTabLeftPanel::Notify(bool animate) { std::string fen = game->GetFen(); std::map<char, std::uint8_t> captures; HalfMove *m = game->GetCurrentMove(); if (m != NULL) { captures = m->GetLineCaptures(); - } - board_canvas->SetupBoard(chessarbiter::FENParser::Parse(fen).board, - game->IsBlackToPlay(), captures); + } + + if(!animate){ + board_canvas->SetupBoard(chessarbiter::FENParser::Parse(fen).board, + game->IsBlackToPlay(), captures); + } + else{ + board_canvas->Animate(chessarbiter::FENParser::Parse(fen).board, + game->IsBlackToPlay(), captures,"a1","a2"); + } fen_text_field->SetValue(game->GetFen()); } |
