public void AnimateMove(DeltaChange dc, Move move)
{
this.OnMoveAnimationPreview();
this.SetupAnimationCount(move);
while (dc.HasItems())
{
var change = dc.PopLast();
switch(change.Action)
{
case MoveAction.Move:
this.InnerAnimateMove(new Move(change.Square, change.AdditionalSquare), Queem.Core.Figure.Nobody);
break;
case MoveAction.Deletion:
if (change.Square != move.To)
// if not equal - passing capture
this.viewModel.RemoveFigure(change.Square);
break;
case MoveAction.Creation:
this.viewModel.UpdateFigure(change.Square,
change.FigureType, change.FigureColor);
break;
}
}
}