private TurnRecord(MoveRecord move, MoveRecord secondaryMove, CaptureRecord capture, PromotionRecord promotion) { Move = move; SecondaryMove = secondaryMove; Capture = capture; Promotion = promotion; }
internal void UpdatePieceCaptured(MoveRecord captureMove, IGameState gameStateBefore) { PieceCaptured = gameStateBefore.GetPieceAt(captureMove.To); }
internal TurnRecord(MoveRecord move, CaptureRecord capture, PromotionRecord promotion) : this(move, null, capture, promotion) { }
internal TurnRecord(MoveRecord move, MoveRecord secondaryMove) : this(move, secondaryMove, null, null) { }
internal TurnRecord(MoveRecord move, PromotionRecord promotion) : this(move, null, null, promotion) { }
internal TurnRecord(MoveRecord move, CaptureRecord capture) : this(move, null, capture, null) { }
internal TurnRecord(MoveRecord move) : this(move, null, null, null) { }
internal void UpdatePiecePromoted(MoveRecord promoteMove, IGameState gameStateBefore) { PiecePromoted = gameStateBefore.GetPieceAt(promoteMove.From); OldCapabilities = PiecePromoted.Capabilities; }