* Work on cartridges * Work on PDA UI * Work on PDA UIs program list * Work on PDA UI borders * Add DeviceNetworkingComponent to the pda base prototype * Fix submodule version * Fix cartridge loader ui key * Fix pda menu xaml * Implement relaying ui messages * Finish implementing the notekeeper cartridge * Fix submodule version * Fix errors from merging master * Fix test failing * Implement setting preinstalled programs * Add some documentation to CartridgeLoaderSystem * Add more doc comments * Add localization to program names * Implement review suggestions * Fix background programs receiving events twice when active
37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using Content.Shared.Containers.ItemSlots;
|
|
|
|
namespace Content.Shared.CartridgeLoader;
|
|
|
|
[Access(typeof(SharedCartridgeLoaderSystem))]
|
|
public abstract class SharedCartridgeLoaderComponent : Component
|
|
{
|
|
public const string CartridgeSlotId = "Cartridge-Slot";
|
|
|
|
[DataField("cartridgeSlot")]
|
|
public ItemSlot CartridgeSlot = new();
|
|
|
|
/// <summary>
|
|
/// List of programs that come preinstalled with this cartridge loader
|
|
/// </summary>
|
|
[DataField("preinstalled")]
|
|
public List<string> PreinstalledPrograms = new();
|
|
|
|
/// <summary>
|
|
/// The currently running program that has its ui showing
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
public EntityUid? ActiveProgram = default;
|
|
|
|
/// <summary>
|
|
/// The list of programs running in the background, listening to certain events
|
|
/// </summary>
|
|
[ViewVariables]
|
|
public readonly List<EntityUid> BackgroundPrograms = new();
|
|
|
|
/// <summary>
|
|
/// The list of program entities that are spawned into the cartridge loaders program container
|
|
/// </summary>
|
|
[DataField("installedCartridges")]
|
|
public List<EntityUid> InstalledPrograms = new();
|
|
}
|