fCraft.World.GetNextPatrolTarget C# (CSharp) Method

GetNextPatrolTarget() public method

public GetNextPatrolTarget ( [ observer ) : Player
observer [
return Player
        public Player GetNextPatrolTarget( [NotNull] Player observer )
        {
            if ( observer == null )
                throw new ArgumentNullException( "observer" );
            lock ( patrolLock ) {
                Player candidate = Players.RankedAtMost( RankManager.PatrolledRank )
                                          .CanBeSeen( observer )
                                          .Where( p => p.LastActiveTime > p.LastPatrolTime &&
                                                       p.HasFullyConnected &&
                                                       DateTime.UtcNow.Subtract( p.LastPatrolTime ) > MinPatrolInterval )
                                          .OrderBy( p => p.LastPatrolTime.Ticks )
                                          .FirstOrDefault();
                if ( candidate != null ) {
                    candidate.LastPatrolTime = DateTime.UtcNow;
                }
                return candidate;
            }
        }

Same methods

World::GetNextPatrolTarget ( [ observer, [ predicate, bool setLastPatrolTime ) : Player