Add PDA Ringtones (#5842)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
TheDarkElites
2022-02-08 04:39:23 -05:00
committed by GitHub
parent b499ef61b0
commit 8c47d6103f
29 changed files with 590 additions and 2 deletions

View File

@@ -30,6 +30,14 @@ namespace Content.Shared.PDA
}
}
[Serializable, NetSerializable]
public sealed class PDAShowRingtoneMessage : BoundUserInterfaceMessage
{
public PDAShowRingtoneMessage()
{
}
}
[Serializable, NetSerializable]
public sealed class PDAShowUplinkMessage : BoundUserInterfaceMessage

View File

@@ -0,0 +1,24 @@
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using System;
namespace Content.Shared.PDA.Ringer
{
[Serializable, NetSerializable]
public sealed class RingerRequestUpdateInterfaceMessage : BoundUserInterfaceMessage {}
[Serializable, NetSerializable]
public sealed class RingerPlayRingtoneMessage : BoundUserInterfaceMessage {}
[Serializable, NetSerializable]
public sealed class RingerSetRingtoneMessage : BoundUserInterfaceMessage
{
public Note[] Ringtone {get;}
public RingerSetRingtoneMessage(Note[] ringTone)
{
Ringtone = ringTone;
}
}
}

View File

@@ -0,0 +1,20 @@
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
using System;
namespace Content.Shared.PDA.Ringer
{
[Serializable, NetSerializable]
public sealed class RingerUpdateState : BoundUserInterfaceState
{
public bool IsPlaying;
public Note[] Ringtone;
public RingerUpdateState(bool isPlay, Note[] ringtone)
{
IsPlaying = isPlay;
Ringtone = ringtone;
}
}
}

View File

@@ -0,0 +1,12 @@
using System;
using Robust.Shared.Serialization;
namespace Content.Shared.PDA.Ringer
{
[Serializable, NetSerializable]
public enum RingerUiKey
{
Key
}
}

View File

@@ -0,0 +1,29 @@
using System;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
namespace Content.Shared.PDA;
public abstract class SharedRingerSystem : EntitySystem
{
public const int RingtoneLength = 4;
public const int NoteTempo = 300;
public const float NoteDelay = 60f / NoteTempo;
}
[Serializable, NetSerializable]
public enum Note : byte
{
A,
Asharp,
B,
C,
Csharp,
D,
Dsharp,
E,
F,
Fsharp,
G,
Gsharp
}