debug message

This commit is contained in:
JohnCorby 2021-12-24 21:21:32 -08:00
parent 108452e64a
commit 4244889d65
5 changed files with 26 additions and 37 deletions

View File

@ -59,6 +59,5 @@
public const string QSBPlayerRetrieveProbe = nameof(QSBPlayerRetrieveProbe);
public const string QSBLaunchProbe = nameof(QSBLaunchProbe);
public const string QSBPlayerLaunchProbe = nameof(QSBPlayerLaunchProbe);
public const string QSBDebugEvent = nameof(QSBDebugEvent);
}
}

View File

@ -1,5 +1,5 @@
using OWML.Utils;
using QSB.Events;
using QSB.Messaging;
using QSB.Player;
using QSB.ShipSync;
using QSB.Utility.Messages;
@ -85,7 +85,7 @@ namespace QSB.Utility
if (Keyboard.current[Key.Numpad5].wasPressedThisFrame)
{
QSBEventManager.FireEvent(EventNames.QSBDebugEvent, DebugEventEnum.TriggerSupernova);
new DebugMessage(DebugMessageEnum.TriggerSupernova).Send();
}
if (Keyboard.current[Key.Numpad7].wasPressedThisFrame)

View File

@ -1,33 +0,0 @@
using QSB.Events;
using QSB.Messaging;
namespace QSB.Utility.Messages
{
public class DebugEvent : QSBEvent<EnumMessage<DebugEventEnum>>
{
public override bool RequireWorldObjectsReady => false;
public override void SetupListener() => GlobalMessenger<DebugEventEnum>.AddListener(EventNames.QSBDebugEvent, Handler);
public override void CloseListener() => GlobalMessenger<DebugEventEnum>.RemoveListener(EventNames.QSBDebugEvent, Handler);
private void Handler(DebugEventEnum type) => SendEvent(CreateMessage(type));
private EnumMessage<DebugEventEnum> CreateMessage(DebugEventEnum type) => new()
{
AboutId = LocalPlayerId,
EnumValue = type
};
public override void OnReceiveLocal(bool isHost, EnumMessage<DebugEventEnum> message) => OnReceiveRemote(isHost, message);
public override void OnReceiveRemote(bool isHost, EnumMessage<DebugEventEnum> message)
{
switch (message.EnumValue)
{
case DebugEventEnum.TriggerSupernova:
TimeLoop.SetSecondsRemaining(0f);
break;
}
}
}
}

View File

@ -0,0 +1,23 @@
using QSB.Messaging;
namespace QSB.Utility.Messages
{
public class DebugMessage : QSBEnumMessage<DebugMessageEnum>
{
public DebugMessage(DebugMessageEnum type) => Value = type;
public DebugMessage() { }
public override void OnReceiveLocal() => OnReceiveRemote();
public override void OnReceiveRemote()
{
switch (Value)
{
case DebugMessageEnum.TriggerSupernova:
TimeLoop.SetSecondsRemaining(0f);
break;
}
}
}
}

View File

@ -1,6 +1,6 @@
namespace QSB.Utility.Messages
{
public enum DebugEventEnum
public enum DebugMessageEnum
{
TriggerSupernova
}