2022-11-08 21:00:20 +01:00
|
|
|
|
using Robust.Shared.GameStates;
|
|
|
|
|
|
using Robust.Shared.Serialization;
|
|
|
|
|
|
using Robust.Shared.Utility;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Content.Shared.CartridgeLoader;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// This is used for defining values used for displaying in the program ui in yaml
|
|
|
|
|
|
/// </summary>
|
2023-09-28 16:20:29 -07:00
|
|
|
|
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
2023-08-22 18:14:33 -07:00
|
|
|
|
public sealed partial class CartridgeComponent : Component
|
2022-11-08 21:00:20 +01:00
|
|
|
|
{
|
2024-02-27 02:38:00 +01:00
|
|
|
|
[DataField]
|
|
|
|
|
|
public EntityUid? LoaderUid;
|
|
|
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
|
[DataField(required: true)]
|
2023-10-10 20:06:24 -07:00
|
|
|
|
public LocId ProgramName = "default-program-name";
|
2022-11-08 21:00:20 +01:00
|
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
|
[DataField]
|
2022-11-08 21:00:20 +01:00
|
|
|
|
public SpriteSpecifier? Icon;
|
|
|
|
|
|
|
2023-09-28 16:20:29 -07:00
|
|
|
|
[AutoNetworkedField]
|
2022-11-08 21:00:20 +01:00
|
|
|
|
public InstallationStatus InstallationStatus = InstallationStatus.Cartridge;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
|
|
|
|
|
public enum InstallationStatus
|
|
|
|
|
|
{
|
|
|
|
|
|
Cartridge,
|
|
|
|
|
|
Installed,
|
|
|
|
|
|
Readonly
|
|
|
|
|
|
}
|