| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using Robust.Shared.GameStates;
- using Robust.Shared.Prototypes;
- using Robust.Shared.Serialization;
- namespace Content.Shared.Audio.Jukebox;
- [NetworkedComponent, RegisterComponent, AutoGenerateComponentState(true)]
- [Access(typeof(SharedJukeboxSystem))]
- public sealed partial class JukeboxComponent : Component
- {
- [DataField, AutoNetworkedField]
- public ProtoId<JukeboxPrototype>? SelectedSongId;
- [DataField, AutoNetworkedField]
- public EntityUid? AudioStream;
- /// <summary>
- /// RSI state for the jukebox being on.
- /// </summary>
- [DataField]
- public string? OnState;
- /// <summary>
- /// RSI state for the jukebox being on.
- /// </summary>
- [DataField]
- public string? OffState;
- /// <summary>
- /// RSI state for the jukebox track being selected.
- /// </summary>
- [DataField]
- public string? SelectState;
- [ViewVariables]
- public bool Selecting;
- [ViewVariables]
- public float SelectAccumulator;
- }
- [Serializable, NetSerializable]
- public sealed class JukeboxPlayingMessage : BoundUserInterfaceMessage;
- [Serializable, NetSerializable]
- public sealed class JukeboxPauseMessage : BoundUserInterfaceMessage;
- [Serializable, NetSerializable]
- public sealed class JukeboxStopMessage : BoundUserInterfaceMessage;
- [Serializable, NetSerializable]
- public sealed class JukeboxSelectedMessage(ProtoId<JukeboxPrototype> songId) : BoundUserInterfaceMessage
- {
- public ProtoId<JukeboxPrototype> SongId { get; } = songId;
- }
- [Serializable, NetSerializable]
- public sealed class JukeboxSetTimeMessage(float songTime) : BoundUserInterfaceMessage
- {
- public float SongTime { get; } = songTime;
- }
- [Serializable, NetSerializable]
- public enum JukeboxVisuals : byte
- {
- VisualState
- }
- [Serializable, NetSerializable]
- public enum JukeboxVisualState : byte
- {
- On,
- Off,
- Select,
- }
- public enum JukeboxVisualLayers : byte
- {
- Base
- }
|