public void SetFen(string fen) { if (string.IsNullOrEmpty(fen) || !GameValidator.IsValidFen(fen)) { return; } if (BeforeSetFen != null) { BeforeSetFen(this, EventArgs.Empty); } GameValidator = new GameW(fen); if (Flags.IsOffline) { if (Flags.IsClickedByUser) { if (IsSwapPlayersRequired) { SwapPlayers(); } } else { Clock.Reset(); Clock.Stop(); GameResult = GameResultE.InProgress; } Flags.EnPassant = SquareE.NoSquare; ResetCounters(); } if (AfterSetFen != null) { AfterSetFen(this, EventArgs.Empty); } }