Table of Contents

Class PlayerServiceExtensions

Namespace
Uncreated.Warfare.Players.Management
Assembly
Uncreated.Warfare.dll

Made these as extensions so if IPlayerService is used elsewhere the reliance on Assembly-CSharp isn't necessarily required.

public static class PlayerServiceExtensions
Inheritance
PlayerServiceExtensions
Inherited Members

Methods

GetOfflinePlayer(IPlayerService, CSteamID, IUserDataService, CancellationToken)

Get the IPlayer object of a player that may or may not be offline.

public static ValueTask<IPlayer> GetOfflinePlayer(this IPlayerService playerService, CSteamID steam64, IUserDataService userDataService, CancellationToken token = default)

Parameters

playerService IPlayerService
steam64 CSteamID
userDataService IUserDataService
token CancellationToken

Returns

ValueTask<IPlayer>

GetOfflinePlayer(IPlayerService, ulong, IUserDataService, CancellationToken)

Get the IPlayer object of a player that may or may not be offline.

public static ValueTask<IPlayer> GetOfflinePlayer(this IPlayerService playerService, ulong steam64, IUserDataService userDataService, CancellationToken token = default)

Parameters

playerService IPlayerService
steam64 ulong
userDataService IUserDataService
token CancellationToken

Returns

ValueTask<IPlayer>

GetOnlinePlayer(IPlayerService, Player)

Get a player who's known to be online. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer GetOnlinePlayer(this IPlayerService playerService, Player player)

Parameters

playerService IPlayerService
player Player

Returns

WarfarePlayer

Exceptions

GameThreadException
PlayerOfflineException

GetOnlinePlayer(IPlayerService, PlayerCaller)

Get a player who's known to be online. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer GetOnlinePlayer(this IPlayerService playerService, PlayerCaller player)

Parameters

playerService IPlayerService
player PlayerCaller

Returns

WarfarePlayer

Exceptions

GameThreadException
PlayerOfflineException

GetOnlinePlayer(IPlayerService, SteamPlayer)

Get a player who's known to be online. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer GetOnlinePlayer(this IPlayerService playerService, SteamPlayer steamPlayer)

Parameters

playerService IPlayerService
steamPlayer SteamPlayer

Returns

WarfarePlayer

Exceptions

GameThreadException
PlayerOfflineException

GetOnlinePlayer(IPlayerService, CSteamID)

Get a player who's known to be online. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer GetOnlinePlayer(this IPlayerService playerService, CSteamID steamId)

Parameters

playerService IPlayerService
steamId CSteamID

Returns

WarfarePlayer

Exceptions

GameThreadException
PlayerOfflineException

GetOnlinePlayerOrNull(IPlayerService, Player?)

Get a player if they're online, otherwise null. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer? GetOnlinePlayerOrNull(this IPlayerService playerService, Player? player)

Parameters

playerService IPlayerService
player Player

Returns

WarfarePlayer

Exceptions

GameThreadException

GetOnlinePlayerOrNull(IPlayerService, PlayerCaller?)

Get a player if they're online, otherwise null. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer? GetOnlinePlayerOrNull(this IPlayerService playerService, PlayerCaller? player)

Parameters

playerService IPlayerService
player PlayerCaller

Returns

WarfarePlayer

Exceptions

GameThreadException

GetOnlinePlayerOrNull(IPlayerService, SteamPlayer?)

Get a player if they're online, otherwise null. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer? GetOnlinePlayerOrNull(this IPlayerService playerService, SteamPlayer? steamPlayer)

Parameters

playerService IPlayerService
steamPlayer SteamPlayer

Returns

WarfarePlayer

Exceptions

GameThreadException

GetOnlinePlayerOrNull(IPlayerService, CSteamID)

Get a player if they're online, otherwise null. Not to be invoked from any thread other than the game thread.

public static WarfarePlayer? GetOnlinePlayerOrNull(this IPlayerService playerService, CSteamID steamId)

Parameters

playerService IPlayerService
steamId CSteamID

Returns

WarfarePlayer

Exceptions

GameThreadException

GetOnlinePlayerOrNull(IPlayerService, string, IEnumerable<WarfarePlayer>, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static WarfarePlayer? GetOnlinePlayerOrNull(this IPlayerService playerService, string searchTerm, IEnumerable<WarfarePlayer> selection, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
selection IEnumerable<WarfarePlayer>
culture CultureInfo
preferredName PlayerNameType

Returns

WarfarePlayer

GetOnlinePlayerOrNull(IPlayerService, string, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static WarfarePlayer? GetOnlinePlayerOrNull(this IPlayerService playerService, string searchTerm, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
culture CultureInfo
preferredName PlayerNameType

Returns

WarfarePlayer

GetOnlinePlayerOrNullThreadSafe(IPlayerService, Player?)

Get a player if they're online, otherwise null.

public static WarfarePlayer? GetOnlinePlayerOrNullThreadSafe(this IPlayerService playerService, Player? player)

Parameters

playerService IPlayerService
player Player

Returns

WarfarePlayer

GetOnlinePlayerOrNullThreadSafe(IPlayerService, PlayerCaller?)

Get a player if they're online, otherwise null.

public static WarfarePlayer? GetOnlinePlayerOrNullThreadSafe(this IPlayerService playerService, PlayerCaller? player)

Parameters

playerService IPlayerService
player PlayerCaller

Returns

WarfarePlayer

GetOnlinePlayerOrNullThreadSafe(IPlayerService, SteamPlayer?)

Get a player if they're online, otherwise null.

public static WarfarePlayer? GetOnlinePlayerOrNullThreadSafe(this IPlayerService playerService, SteamPlayer? steamPlayer)

Parameters

playerService IPlayerService
steamPlayer SteamPlayer

Returns

WarfarePlayer

GetOnlinePlayerOrNullThreadSafe(IPlayerService, CSteamID)

Get a player if they're online, otherwise null.

public static WarfarePlayer? GetOnlinePlayerOrNullThreadSafe(this IPlayerService playerService, CSteamID steamId)

Parameters

playerService IPlayerService
steamId CSteamID

Returns

WarfarePlayer

GetOnlinePlayerOrNullThreadSafe(IPlayerService, string, IEnumerable<WarfarePlayer>, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static WarfarePlayer? GetOnlinePlayerOrNullThreadSafe(this IPlayerService playerService, string searchTerm, IEnumerable<WarfarePlayer> selection, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
selection IEnumerable<WarfarePlayer>
culture CultureInfo
preferredName PlayerNameType

Returns

WarfarePlayer

GetOnlinePlayerOrNullThreadSafe(IPlayerService, string, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static WarfarePlayer? GetOnlinePlayerOrNullThreadSafe(this IPlayerService playerService, string searchTerm, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
culture CultureInfo
preferredName PlayerNameType

Returns

WarfarePlayer

GetOnlinePlayerSteam64Array(IPlayerService)

Gets an array of the Steam64 IDs of all online players as an array for database queries.

public static ulong[] GetOnlinePlayerSteam64Array(this IPlayerService playerService)

Parameters

playerService IPlayerService

Returns

ulong[]

GetOnlinePlayerThreadSafe(IPlayerService, Player)

Get a player who's known to be online.

public static WarfarePlayer GetOnlinePlayerThreadSafe(this IPlayerService playerService, Player player)

Parameters

playerService IPlayerService
player Player

Returns

WarfarePlayer

Exceptions

PlayerOfflineException

GetOnlinePlayerThreadSafe(IPlayerService, PlayerCaller)

Get a player who's known to be online.

public static WarfarePlayer GetOnlinePlayerThreadSafe(this IPlayerService playerService, PlayerCaller player)

Parameters

playerService IPlayerService
player PlayerCaller

Returns

WarfarePlayer

Exceptions

PlayerOfflineException

GetOnlinePlayerThreadSafe(IPlayerService, SteamPlayer)

Get a player who's known to be online.

public static WarfarePlayer GetOnlinePlayerThreadSafe(this IPlayerService playerService, SteamPlayer steamPlayer)

Parameters

playerService IPlayerService
steamPlayer SteamPlayer

Returns

WarfarePlayer

Exceptions

PlayerOfflineException

GetOnlinePlayerThreadSafe(IPlayerService, CSteamID)

Get a player who's known to be online.

public static WarfarePlayer GetOnlinePlayerThreadSafe(this IPlayerService playerService, CSteamID steamId)

Parameters

playerService IPlayerService
steamId CSteamID

Returns

WarfarePlayer

Exceptions

PlayerOfflineException

GetOnlinePlayers(IPlayerService, string, IList<WarfarePlayer>, IEnumerable<WarfarePlayer>, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static int GetOnlinePlayers(this IPlayerService playerService, string searchTerm, IList<WarfarePlayer> output, IEnumerable<WarfarePlayer> selection, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
output IList<WarfarePlayer>
selection IEnumerable<WarfarePlayer>
culture CultureInfo
preferredName PlayerNameType

Returns

int

GetOnlinePlayers(IPlayerService, string, IList<WarfarePlayer>, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static int GetOnlinePlayers(this IPlayerService playerService, string searchTerm, IList<WarfarePlayer> output, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
output IList<WarfarePlayer>
culture CultureInfo
preferredName PlayerNameType

Returns

int

GetOnlinePlayersThreadSafe(IPlayerService, string, IList<WarfarePlayer>, IEnumerable<WarfarePlayer>, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static int GetOnlinePlayersThreadSafe(this IPlayerService playerService, string searchTerm, IList<WarfarePlayer> output, IEnumerable<WarfarePlayer> selection, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
output IList<WarfarePlayer>
selection IEnumerable<WarfarePlayer>
culture CultureInfo
preferredName PlayerNameType

Returns

int

GetOnlinePlayersThreadSafe(IPlayerService, string, IList<WarfarePlayer>, CultureInfo?, PlayerNameType)

Search for a player by their name.

public static int GetOnlinePlayersThreadSafe(this IPlayerService playerService, string searchTerm, IList<WarfarePlayer> output, CultureInfo? culture, PlayerNameType preferredName = PlayerNameType.CharacterName)

Parameters

playerService IPlayerService
searchTerm string
output IList<WarfarePlayer>
culture CultureInfo
preferredName PlayerNameType

Returns

int

IsPlayerOnline(IPlayerService, CSteamID)

Quickly check if a player is online.

public static bool IsPlayerOnline(this IPlayerService playerService, CSteamID steamId)

Parameters

playerService IPlayerService
steamId CSteamID

Returns

bool

Exceptions

GameThreadException

IsPlayerOnlineThreadSafe(IPlayerService, CSteamID)

Quickly check if a player is online.

public static bool IsPlayerOnlineThreadSafe(this IPlayerService playerService, CSteamID steamId)

Parameters

playerService IPlayerService
steamId CSteamID

Returns

bool

OnlinePlayersOnTeam(IPlayerService, Team)

List of all online players on a given team. Not to be invoked from any thread other than the game thread.

public static TrackingWhereEnumerable<WarfarePlayer> OnlinePlayersOnTeam(this IPlayerService playerService, Team team)

Parameters

playerService IPlayerService
team Team

Returns

TrackingWhereEnumerable<WarfarePlayer>

Exceptions

GameThreadException