public bool IsLegalMove(IPlayerMove move)
{
if (move is RandomMove)
{
return true;
}
if (CurrentPhase == GamePhase.Play && !CurrentUniversity.HasStudentsFor(move.StudentsNeeded))
{
return false;
}
var updateMove = move as IPlayerMoveForUpdate;
Debug.Assert(updateMove != null);
return updateMove.IsLegalToApply(this);
}