32 lines
689 B
C#
32 lines
689 B
C#
using Shogi.Domain.ValueObjects;
|
|
|
|
namespace Shogi.Domain.Aggregates;
|
|
|
|
public class Session
|
|
{
|
|
public Session(
|
|
string name,
|
|
string player1Name)
|
|
{
|
|
Name = name;
|
|
Player1 = player1Name;
|
|
Board = new(BoardState.StandardStarting);
|
|
}
|
|
|
|
public string Name { get; }
|
|
public ShogiBoard Board { get; }
|
|
public string Player1 { get; }
|
|
public string? Player2 { get; private set; }
|
|
|
|
public void AddPlayer2(string player2Name)
|
|
{
|
|
if (Player2 != null) throw new InvalidOperationException("Player 2 already exists while trying to add a second player.");
|
|
Player2 = player2Name;
|
|
}
|
|
|
|
public bool IsSeated(string playerName)
|
|
{
|
|
return Player1 == playerName || Player2 == playerName;
|
|
}
|
|
}
|