Esempio n. 1
0
 internal virtual void AddTile(
     PlayerTrain playerTrain,
     DominoTileEntity tile,
     Guid playerId)
 {
     throw new IllegalStateActionException(GetType());
 }
Esempio n. 2
0
 protected void AddTile(
     PlayerTrain playerTrain,
     DominoTileEntity tile)
 {
     tile.Link(playerTrain.head);
     playerTrain.head = tile;
 }
Esempio n. 3
0
 internal override void AddTile(
     PlayerTrain playerTrain,
     DominoTileEntity tile,
     Guid playerId)
 {
     base.AddTile(
         playerTrain,
         tile);
     if (playerId == playerTrain.ownerId)
     {
         playerTrain.state = new ClosedPlayerTrainState();;
     }
 }
Esempio n. 4
0
 internal override void AddTile(
     PlayerTrain playerTrain,
     DominoTileEntity tile,
     Guid playerId)
 {
     if (playerId != playerTrain.ownerId)
     {
         throw new ApplicationException("Can't add tile to a closed player train.");
     }
     base.AddTile(
         playerTrain,
         tile);
     if (tile.IsDouble())
     {
         playerTrain.state = new OpenPlayerTrainState();
     }
 }
Esempio n. 5
0
 internal override void ForceAddTile(
     PlayerTrain playerTrain,
     DominoTileEntity tile
     ) => base.AddTile(playerTrain, tile);