public (PieceMoveResult pieceMoveResult, CaptureResult captureResult) ConfirmMove(IPlayer player, IPiece movingPiece, PublicDataType.IntegerVector2 endWorldPosition, bool isTurnEnd, bool isForceMove = false) { var captureResult = capturer.CapturePiece(player, movingPiece, endWorldPosition); if (!captureResult.IsSuccess) { return(new PieceMoveResult(false, false, captureResult.Captured), captureResult); } mover.MovePiece(movingPiece, endWorldPosition, isForceMove); return(new PieceMoveResult(true, isTurnEnd, captureResult.Captured), captureResult); }