15 lines
365 B
C#
15 lines
365 B
C#
namespace Shogi.Domain.Other;
|
|
|
|
public record MoveValidationContext<TPiece>(
|
|
Vector2 From,
|
|
Vector2 To,
|
|
bool IsPromotion,
|
|
TPiece?[,] BoardState) where TPiece : IRulesLifecycle<TPiece>
|
|
{
|
|
public TPiece? GetPieceByRelativePosition(Vector2 relativePosition)
|
|
{
|
|
var absolute = From + relativePosition;
|
|
return BoardState[(int)absolute.X, (int)absolute.Y];
|
|
}
|
|
}
|