From 7187e6d6ee8d2cec38cd9580e315a00d0c763e99 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Wed, 28 Dec 2022 12:40:16 +0100 Subject: Prepare for pieces animation step2 --- src/game_tab/left_panel/GameTabLeftPanel.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src/game_tab/left_panel/GameTabLeftPanel.cpp') 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) 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 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 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()); } -- cgit v1.2.3