ChessDotNet.ChessGame.IsCheckmated C# (CSharp) Method

IsCheckmated() public method

public IsCheckmated ( Player player ) : bool
player Player
return bool
        public virtual bool IsCheckmated(Player player)
        {
            Cache<bool> cache = player == Player.White ? checkmatedCacheWhite : checkmatedCacheBlack;
            if (cache.CachedAt == Moves.Count)
            {
                return cache.Value;
            }

            return cache.UpdateCache(IsInCheck(player) && !HasAnyValidMoves(player), Moves.Count);
        }