Добавил музыкальную очередь в музыкальный автомат

This commit is contained in:
Jabak
2024-07-30 02:35:45 +03:00
parent 99991a2838
commit 1b13471f98
9 changed files with 379 additions and 83 deletions

View File

@@ -14,6 +14,9 @@ public sealed partial class JukeboxComponent : Component
[DataField, AutoNetworkedField]
public EntityUid? AudioStream;
[DataField, AutoNetworkedField]
public Queue<ProtoId<JukeboxPrototype>> SongIdQueue = new();
/// <summary>
/// RSI state for the jukebox being on.
/// </summary>
@@ -39,6 +42,9 @@ public sealed partial class JukeboxComponent : Component
public float SelectAccumulator;
}
[RegisterComponent]
public sealed partial class JukeboxMusicComponent : Component;
[Serializable, NetSerializable]
public sealed class JukeboxPlayingMessage : BoundUserInterfaceMessage;
@@ -60,6 +66,18 @@ public sealed class JukeboxSetTimeMessage(float songTime) : BoundUserInterfaceMe
public float SongTime { get; } = songTime;
}
[Serializable, NetSerializable]
public sealed class JukeboxAddQueueMessage(ProtoId<JukeboxPrototype> songId) : BoundUserInterfaceMessage
{
public ProtoId<JukeboxPrototype> SongId { get; } = songId;
}
[Serializable, NetSerializable]
public sealed class JukeboxRemoveQueueMessage(int index) : BoundUserInterfaceMessage
{
public int Index { get; } = index;
}
[Serializable, NetSerializable]
public enum JukeboxVisuals : byte
{