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();
///
/// List of programs that come preinstalled with this cartridge loader
///
[DataField("preinstalled")]
public List PreinstalledPrograms = new();
///
/// The currently running program that has its ui showing
///
[ViewVariables(VVAccess.ReadWrite)]
public EntityUid? ActiveProgram = default;
///
/// The list of programs running in the background, listening to certain events
///
[ViewVariables]
public readonly List BackgroundPrograms = new();
///
/// The list of program entities that are spawned into the cartridge loaders program container
///
[DataField("installedCartridges")]
public List InstalledPrograms = new();
}