Class LoadoutService
[GenerateRpcSource]
[RpcGeneratedProxyType(TypeSetupMethodName = "__ModularRpcsGeneratedSetupStaticGeneratedProxy")]
public class LoadoutService
- Inheritance
-
LoadoutService
- Inherited Members
Constructors
LoadoutService(IServiceProvider, ILogger<LoadoutService>)
public LoadoutService(IServiceProvider serivceProvider, ILogger<LoadoutService> logger)
Parameters
serivceProviderIServiceProviderloggerILogger<LoadoutService>
Properties
LoadoutCost
Cost of a loadout in USD.
public decimal LoadoutCost { get; }
Property Value
Methods
CreateLoadoutAsync(CSteamID, CSteamID, Class, string?, Func<KitModel, Task>?, CancellationToken)
Create a new loadout for this season which will start locked.
public Task<Kit> CreateLoadoutAsync(CSteamID forPlayer, CSteamID creator, Class @class, string? displayName, Func<KitModel, Task>? updateTask, CancellationToken token = default)
Parameters
forPlayerCSteamIDThe player who will own the loadout.
creatorCSteamIDThe admin who is handling the ticket, or default.
classClassdisplayNamestringOptional sign text to use for the default language.
updateTaskFunc<KitModel, Task>tokenCancellationToken
Returns
CreateLoadoutRpc(CSteamID, CSteamID, Class, string?, CancellationToken)
[RpcReceive]
protected Task<uint> CreateLoadoutRpc(CSteamID forPlayer, CSteamID creator, Class @class, string? displayName, CancellationToken token = default)
Parameters
forPlayerCSteamIDcreatorCSteamIDclassClassdisplayNamestringtokenCancellationToken
Returns
GetFreeLoadoutIdAsync(CSteamID, CancellationToken)
Gets the next free loadout ID for a player. Use with LoadoutIdHelper methods.
public Task<int> GetFreeLoadoutIdAsync(CSteamID forPlayer, CancellationToken token = default)
Parameters
forPlayerCSteamIDtokenCancellationToken
Returns
GetLoadoutFromNumber(CSteamID, int, KitInclude, CancellationToken)
Get the loadout represented by a specific number (usually this is a sign index, starting from 1).
public Task<Kit?> GetLoadoutFromNumber(CSteamID player, int number, KitInclude include, CancellationToken token = default)
Parameters
playerCSteamIDnumberintincludeKitIncludetokenCancellationToken
Returns
GetLoadouts(CSteamID, KitInclude, CancellationToken)
Get all loadouts a player owns in the order they would be displayed on signs.
public Task<IReadOnlyList<Kit>> GetLoadouts(CSteamID player, KitInclude include, CancellationToken token = default)
Parameters
playerCSteamIDincludeKitIncludetokenCancellationToken
Returns
GetLoadouts(IList<Kit>, CSteamID, KitInclude, CancellationToken)
Get all loadouts a player owns in the order they would be displayed on signs.
public Task GetLoadouts(IList<Kit> output, CSteamID player, KitInclude include, CancellationToken token = default)
Parameters
outputIList<Kit>playerCSteamIDincludeKitIncludetokenCancellationToken
Returns
LockLoadoutAsync(CSteamID, uint, KitInclude, CancellationToken)
Disables a loadout, usually to allow an admin to make changes to it.
public Task<Kit?> LockLoadoutAsync(CSteamID instigator, uint primaryKey, KitInclude include = KitInclude.Default, CancellationToken token = default)
Parameters
instigatorCSteamIDThe admin handling the ticket.
primaryKeyuintThe primary key of the existing loadout.
includeKitIncludetokenCancellationToken
Returns
LockLoadoutRpc(CSteamID, uint, CancellationToken)
[RpcReceive]
protected Task<bool> LockLoadoutRpc(CSteamID instigator, uint primaryKey, CancellationToken token = default)
Parameters
instigatorCSteamIDprimaryKeyuinttokenCancellationToken
Returns
ReceiveInvokeLoadoutCreated(CSteamID, int, uint)
[RpcReceive]
protected Task ReceiveInvokeLoadoutCreated(CSteamID forPlayer, int loadoutId, uint kitPrimaryKey)
Parameters
Returns
ReceiveInvokeLoadoutUpgradeStarted(CSteamID, Class, string?, bool, uint)
[RpcReceive]
protected Task ReceiveInvokeLoadoutUpgradeStarted(CSteamID forPlayer, Class oldClass, string? oldFaction, bool accessAdded, uint kitPrimaryKey)
Parameters
Returns
ReceiveInvokeLockStateUpdated(uint, CSteamID, bool)
[RpcReceive]
protected Task ReceiveInvokeLockStateUpdated(uint kitPrimaryKey, CSteamID forPlayer, bool expectedLockState)
Parameters
Returns
SendCreateLoadout(IModularRpcRemoteConnection, CSteamID, CSteamID, Class, string?, CancellationToken)
[RpcSend("CreateLoadoutRpc")]
[RpcTimeout(5000)]
protected RpcTask<uint> SendCreateLoadout(IModularRpcRemoteConnection connection, CSteamID forPlayer, CSteamID creator, Class @class, string? displayName, CancellationToken token = default)
Parameters
connectionIModularRpcRemoteConnectionforPlayerCSteamIDcreatorCSteamIDclassClassdisplayNamestringtokenCancellationToken
Returns
- RpcTask<uint>
SendInvokeLoadoutCreated(CSteamID, int, uint)
[RpcSend("ReceiveInvokeLoadoutCreated")]
[RpcFireAndForget]
protected void SendInvokeLoadoutCreated(CSteamID forPlayer, int loadoutId, uint kitPrimaryKey)
Parameters
SendInvokeLoadoutLockStateUpdated(uint, bool)
[RpcSend("ReceiveInvokeLockStateUpdated")]
[RpcFireAndForget]
protected void SendInvokeLoadoutLockStateUpdated(uint kitPrimaryKey, bool expectedLockState)
Parameters
SendInvokeLoadoutUpgradeStarted(CSteamID, Class, string?, bool, uint)
[RpcSend("ReceiveInvokeLoadoutUpgradeStarted")]
[RpcFireAndForget]
protected void SendInvokeLoadoutUpgradeStarted(CSteamID forPlayer, Class oldClass, string? oldFaction, bool accessAdded, uint kitPrimaryKey)
Parameters
SendLockLoadout(IModularRpcRemoteConnection, CSteamID, uint, CancellationToken)
[RpcSend("LockLoadoutRpc")]
[RpcTimeout(5000)]
protected RpcTask<bool> SendLockLoadout(IModularRpcRemoteConnection connection, CSteamID instigator, uint primaryKey, CancellationToken token = default)
Parameters
connectionIModularRpcRemoteConnectioninstigatorCSteamIDprimaryKeyuinttokenCancellationToken
Returns
- RpcTask<bool>
SendUnlockLoadout(IModularRpcRemoteConnection, CSteamID, uint, CancellationToken)
[RpcSend("UnlockLoadoutRpc")]
[RpcTimeout(5000)]
protected RpcTask<bool> SendUnlockLoadout(IModularRpcRemoteConnection connection, CSteamID instigator, uint primaryKey, CancellationToken token = default)
Parameters
connectionIModularRpcRemoteConnectioninstigatorCSteamIDprimaryKeyuinttokenCancellationToken
Returns
- RpcTask<bool>
SendUpgradeLoadout(IModularRpcRemoteConnection, CSteamID, CSteamID, Class, uint, CancellationToken)
[RpcSend("UpgradeLoadoutRpc")]
[RpcTimeout(5000)]
protected RpcTask<bool> SendUpgradeLoadout(IModularRpcRemoteConnection connection, CSteamID forPlayer, CSteamID admin, Class @class, uint kitPk, CancellationToken token = default)
Parameters
connectionIModularRpcRemoteConnectionforPlayerCSteamIDadminCSteamIDclassClasskitPkuinttokenCancellationToken
Returns
- RpcTask<bool>
UnlockLoadoutAsync(CSteamID, uint, KitInclude, CancellationToken)
Enables a loadout, usually after creating or upgrading a kit.
public Task<Kit?> UnlockLoadoutAsync(CSteamID instigator, uint primaryKey, KitInclude include = KitInclude.Default, CancellationToken token = default)
Parameters
instigatorCSteamIDThe admin handling the ticket.
primaryKeyuintThe primary key of the existing loadout.
includeKitIncludetokenCancellationToken
Returns
UnlockLoadoutRpc(CSteamID, uint, CancellationToken)
[RpcReceive]
protected Task<bool> UnlockLoadoutRpc(CSteamID instigator, uint primaryKey, CancellationToken token = default)
Parameters
instigatorCSteamIDprimaryKeyuinttokenCancellationToken
Returns
UpgradeLoadoutAsync(CSteamID, CSteamID, Class, uint, KitInclude, CancellationToken)
Start upgrading a loadout to the current season.
public Task<Kit?> UpgradeLoadoutAsync(CSteamID forPlayer, CSteamID admin, Class @class, uint kitPk, KitInclude include = KitInclude.Default, CancellationToken token = default)
Parameters
forPlayerCSteamIDThe owner of the loadout.
adminCSteamIDThe admin that handled the ticket.
classClassThe new class to set for the loadout.
kitPkuintincludeKitIncludetokenCancellationToken
Returns
Exceptions
- InvalidOperationException
Kit is already up to date.
UpgradeLoadoutRpc(CSteamID, CSteamID, Class, uint, CancellationToken)
[RpcReceive]
protected Task<bool> UpgradeLoadoutRpc(CSteamID forPlayer, CSteamID admin, Class @class, uint kitPk, CancellationToken token = default)
Parameters
forPlayerCSteamIDadminCSteamIDclassClasskitPkuinttokenCancellationToken
Returns
Events
LoadoutCreated
public event EventHandler<LoadoutCreated>? LoadoutCreated
Event Type
LoadoutLockChanged
public event EventHandler<LoadoutLockChanged>? LoadoutLockChanged
Event Type
LoadoutUpgradeStarted
public event EventHandler<LoadoutUpgradeStarted>? LoadoutUpgradeStarted