Show / Hide Table of Contents

Class CartridgeLoaderSystem

Inheritance
System.Object
SharedCartridgeLoaderSystem
CartridgeLoaderSystem
Namespace: Content.Server.CartridgeLoader
Assembly: Content.Server.dll
Syntax
public sealed class CartridgeLoaderSystem : SharedCartridgeLoaderSystem

Methods

| Improve this Doc View Source

ActivateProgram(EntityUid, EntityUid, CartridgeLoaderComponent)

Activates a program or cartridge and displays its ui fragment. Deactivates any previously active program.

Declaration
public void ActivateProgram(EntityUid loaderUid, EntityUid programUid, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid
EntityUid programUid
CartridgeLoaderComponent loader
| Improve this Doc View Source

DeactivateProgram(EntityUid, EntityUid, CartridgeLoaderComponent)

Deactivates the currently active program or cartridge.

Declaration
public void DeactivateProgram(EntityUid loaderUid, EntityUid programUid, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid
EntityUid programUid
CartridgeLoaderComponent loader
| Improve this Doc View Source

GetAvailablePrograms(EntityUid, CartridgeLoaderComponent)

Returns a list of all installed programs and the inserted cartridge if it isn't already installed

Declaration
public List<NetEntity> GetAvailablePrograms(EntityUid uid, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid uid

The cartridge loaders uid

CartridgeLoaderComponent loader

The cartridge loader component

Returns
Type Description
List<NetEntity>

A list of all the available program entity ids

| Improve this Doc View Source

GetInstalled(EntityUid, ContainerManagerComponent)

Declaration
public IReadOnlyList<EntityUid> GetInstalled(EntityUid uid, ContainerManagerComponent comp = null)
Parameters
Type Name Description
EntityUid uid
Robust.Shared.Containers.ContainerManagerComponent comp
Returns
Type Description
IReadOnlyList<EntityUid>
| Improve this Doc View Source

HasProgram<T>(EntityUid, Boolean, CartridgeLoaderComponent, ContainerManagerComponent)

Declaration
public bool HasProgram<T>(EntityUid uid, bool installedOnly = false, CartridgeLoaderComponent loader = null, ContainerManagerComponent containerManager = null)
    where T : IComponent
Parameters
Type Name Description
EntityUid uid
System.Boolean installedOnly
CartridgeLoaderComponent loader
Robust.Shared.Containers.ContainerManagerComponent containerManager
Returns
Type Description
System.Boolean
Type Parameters
Name Description
T
| Improve this Doc View Source

Initialize()

Declaration
public override void Initialize()
Overrides
SharedCartridgeLoaderSystem.Initialize()
| Improve this Doc View Source

InstallCartridge(EntityUid, EntityUid, CartridgeLoaderComponent)

Installs a cartridge by spawning an invisible version of the cartridges prototype into the cartridge loaders program container program container

Declaration
public bool InstallCartridge(EntityUid loaderUid, EntityUid cartridgeUid, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid

The cartridge loader uid

EntityUid cartridgeUid

The uid of the cartridge to be installed

CartridgeLoaderComponent loader

The cartridge loader component

Returns
Type Description
System.Boolean

Whether installing the cartridge was successful

| Improve this Doc View Source

InstallProgram(EntityUid, String, Boolean, CartridgeLoaderComponent)

Installs a program by its prototype

Declaration
public bool InstallProgram(EntityUid loaderUid, string prototype, bool deinstallable = true, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid

The cartridge loader uid

System.String prototype

The prototype name

System.Boolean deinstallable

Whether the program can be deinstalled or not

CartridgeLoaderComponent loader

The cartridge loader component

Returns
Type Description
System.Boolean

Whether installing the cartridge was successful

| Improve this Doc View Source

OnItemInserted(EntityUid, CartridgeLoaderComponent, EntInsertedIntoContainerMessage)

Declaration
protected override void OnItemInserted(EntityUid uid, CartridgeLoaderComponent loader, EntInsertedIntoContainerMessage args)
Parameters
Type Name Description
EntityUid uid
CartridgeLoaderComponent loader
Robust.Shared.Containers.EntInsertedIntoContainerMessage args
| Improve this Doc View Source

OnItemRemoved(EntityUid, CartridgeLoaderComponent, EntRemovedFromContainerMessage)

Declaration
protected override void OnItemRemoved(EntityUid uid, CartridgeLoaderComponent loader, EntRemovedFromContainerMessage args)
Parameters
Type Name Description
EntityUid uid
CartridgeLoaderComponent loader
Robust.Shared.Containers.EntRemovedFromContainerMessage args
| Improve this Doc View Source

RegisterBackgroundProgram(EntityUid, EntityUid, CartridgeLoaderComponent)

Registers the given program as a running in the background. Programs running in the background will receive certain events like device net packets but not ui messages

Declaration
public void RegisterBackgroundProgram(EntityUid loaderUid, EntityUid cartridgeUid, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid
EntityUid cartridgeUid
CartridgeLoaderComponent loader
Remarks

Programs wanting to use this functionality will have to provide a way to register and unregister themselves as background programs through their ui fragment.

| Improve this Doc View Source

TryGetProgram<T>(EntityUid, out Nullable<EntityUid>, out T, Boolean, CartridgeLoaderComponent, ContainerManagerComponent)

Declaration
public bool TryGetProgram<T>(EntityUid uid, out EntityUid? programUid, out T program, bool installedOnly = false, CartridgeLoaderComponent loader = null, ContainerManagerComponent containerManager = null)
    where T : IComponent
Parameters
Type Name Description
EntityUid uid
System.Nullable<EntityUid> programUid
T program
System.Boolean installedOnly
CartridgeLoaderComponent loader
Robust.Shared.Containers.ContainerManagerComponent containerManager
Returns
Type Description
System.Boolean
Type Parameters
Name Description
T
| Improve this Doc View Source

TryGetProgram<T>(EntityUid, out Nullable<EntityUid>, Boolean, CartridgeLoaderComponent, ContainerManagerComponent)

Declaration
public bool TryGetProgram<T>(EntityUid uid, out EntityUid? programUid, bool installedOnly = false, CartridgeLoaderComponent loader = null, ContainerManagerComponent containerManager = null)
    where T : IComponent
Parameters
Type Name Description
EntityUid uid
System.Nullable<EntityUid> programUid
System.Boolean installedOnly
CartridgeLoaderComponent loader
Robust.Shared.Containers.ContainerManagerComponent containerManager
Returns
Type Description
System.Boolean
Type Parameters
Name Description
T
| Improve this Doc View Source

UninstallProgram(EntityUid, EntityUid, CartridgeLoaderComponent)

Uninstalls a program using its uid

Declaration
public bool UninstallProgram(EntityUid loaderUid, EntityUid programUid, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid

The cartridge loader uid

EntityUid programUid

The uid of the program to be uninstalled

CartridgeLoaderComponent loader

The cartridge loader component

Returns
Type Description
System.Boolean

Whether uninstalling the program was successful

| Improve this Doc View Source

UnregisterBackgroundProgram(EntityUid, EntityUid, CartridgeLoaderComponent)

Unregisters the given program as running in the background

Declaration
public void UnregisterBackgroundProgram(EntityUid loaderUid, EntityUid cartridgeUid, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid
EntityUid cartridgeUid
CartridgeLoaderComponent loader
| Improve this Doc View Source

UpdateCartridgeUiState(EntityUid, BoundUserInterfaceState, IPlayerSession, CartridgeLoaderComponent)

Updates the programs ui state

Declaration
public void UpdateCartridgeUiState(EntityUid loaderUid, BoundUserInterfaceState state, IPlayerSession session = null, CartridgeLoaderComponent loader = null)
Parameters
Type Name Description
EntityUid loaderUid

The cartridge loaders entity uid

BoundUserInterfaceState state

The programs ui state. Programs should use their own ui state class inheriting from

Robust.Server.Player.IPlayerSession session

The players session

CartridgeLoaderComponent loader

The cartridge loader component

Remarks

This method is called "UpdateCartridgeUiState" but cartridges and a programs are the same. A cartridge is just a program as a visible item.

See Also
Content.Server.CartridgeLoader.Cartridges.NotekeeperCartridgeSystem.UpdateUiState(EntityUid,EntityUid,Content.Server.CartridgeLoader.Cartridges.NotekeeperCartridgeComponent)
| Improve this Doc View Source

UpdateUiState(EntityUid, IPlayerSession, CartridgeLoaderComponent)

Updates the cartridge loaders ui state.

Declaration
public void UpdateUiState(EntityUid loaderUid, IPlayerSession session, CartridgeLoaderComponent loader)
Parameters
Type Name Description
EntityUid loaderUid
Robust.Server.Player.IPlayerSession session
CartridgeLoaderComponent loader
Remarks

Because the cartridge loader integrates with the ui of the entity using it, the entities ui state needs to inherit from CartridgeLoaderUiState and use this method to update its state so the cartridge loaders state can be added to it.

  • Improve this Doc
  • View Source
☀
☾
In This Article
Back to top
Generated by DocFX
☀
☾