did handler stuff

This commit is contained in:
Aleksander Waage 2020-08-15 21:52:43 +02:00
parent 4fc6d55537
commit cd2c8dcf5f
16 changed files with 88 additions and 62 deletions

View File

@ -9,16 +9,19 @@ namespace QSB.Animation
public override void SetupListener()
{
GlobalMessenger.AddListener(EventNames.SuitUp, () => SendEvent(CreateMessage(true)));
GlobalMessenger.AddListener(EventNames.RemoveSuit, () => SendEvent(CreateMessage(false)));
GlobalMessenger.AddListener(EventNames.SuitUp, HandleSuitUp);
GlobalMessenger.AddListener(EventNames.RemoveSuit, HandleSuitDown);
}
public override void CloseListener()
{
GlobalMessenger.RemoveListener(EventNames.SuitUp, () => SendEvent(CreateMessage(true)));
GlobalMessenger.RemoveListener(EventNames.RemoveSuit, () => SendEvent(CreateMessage(false)));
GlobalMessenger.RemoveListener(EventNames.SuitUp, HandleSuitUp);
GlobalMessenger.RemoveListener(EventNames.RemoveSuit, HandleSuitDown);
}
private void HandleSuitUp() => SendEvent(CreateMessage(true));
private void HandleSuitDown() => SendEvent(CreateMessage(false));
private ToggleMessage CreateMessage(bool value) => new ToggleMessage
{
SenderId = LocalPlayerId,

View File

@ -10,14 +10,16 @@ namespace QSB.DeathSync
public override void SetupListener()
{
GlobalMessenger<DeathType>.AddListener(EventNames.QSBPlayerDeath, type => SendEvent(CreateMessage(type)));
GlobalMessenger<DeathType>.AddListener(EventNames.QSBPlayerDeath, Handler);
}
public override void CloseListener()
{
GlobalMessenger<DeathType>.RemoveListener(EventNames.QSBPlayerDeath, type => SendEvent(CreateMessage(type)));
GlobalMessenger<DeathType>.RemoveListener(EventNames.QSBPlayerDeath, Handler);
}
private void Handler(DeathType type) => SendEvent(CreateMessage(type));
private PlayerDeathMessage CreateMessage(DeathType type) => new PlayerDeathMessage
{
SenderId = LocalPlayerId,

View File

@ -10,14 +10,16 @@ namespace QSB.ElevatorSync
public override void SetupListener()
{
GlobalMessenger<int, ElevatorDirection>.AddListener(EventNames.QSBStartLift, (id, direction) => SendEvent(CreateMessage(id, direction)));
GlobalMessenger<int, ElevatorDirection>.AddListener(EventNames.QSBStartLift, Handler);
}
public override void CloseListener()
{
GlobalMessenger<int, ElevatorDirection>.RemoveListener(EventNames.QSBStartLift, (id, direction) => SendEvent(CreateMessage(id, direction)));
GlobalMessenger<int, ElevatorDirection>.RemoveListener(EventNames.QSBStartLift, Handler);
}
private void Handler(int id, ElevatorDirection direction) => SendEvent(CreateMessage(id, direction));
private ElevatorMessage CreateMessage(int id, ElevatorDirection direction) => new ElevatorMessage
{
SenderId = PlayerRegistry.LocalPlayer.NetId,

View File

@ -3,14 +3,11 @@ using QSB.Animation;
using QSB.DeathSync;
using QSB.ElevatorSync;
using QSB.GeyserSync;
using QSB.Messaging;
using QSB.TimeSync;
using QSB.Tools;
using QSB.TransformSync;
using QSB.Utility;
using System.Collections.Generic;
using UnityEngine.Assertions.Must;
using UnityEngine.Networking;
namespace QSB.Events
{

View File

@ -1,10 +1,6 @@
using QSB.Messaging;
using QSB.TransformSync;
using QSB.Utility;
using OWML.ModHelper.Events;
using System;
using System.Reflection;
using System.Collections;
namespace QSB.Events
{
@ -14,15 +10,17 @@ namespace QSB.Events
public override void SetupListener()
{
GlobalMessenger<string>.AddListener(EventNames.QSBPlayerJoin, name => StartSendEvent(CreateMessage(name)));
GlobalMessenger<string>.AddListener(EventNames.QSBPlayerJoin, Handler);
}
public override void CloseListener()
{
DebugLog.ToConsole("Close listener for join event");
GlobalMessenger<string>.RemoveListener(EventNames.QSBPlayerJoin, name => StartSendEvent(CreateMessage(name)));
GlobalMessenger<string>.RemoveListener(EventNames.QSBPlayerJoin, Handler);
}
private void Handler(string name) => StartSendEvent(CreateMessage(name));
private void StartSendEvent(PlayerJoinMessage message)
{
DebugLog.ToConsole("Got fire event for player join, sending message");

View File

@ -12,14 +12,16 @@ namespace QSB.Events
public override void SetupListener()
{
GlobalMessenger<uint, uint[]>.AddListener(EventNames.QSBPlayerLeave, (id, objects) => SendEvent(CreateMessage(id, objects)));
GlobalMessenger<uint, uint[]>.AddListener(EventNames.QSBPlayerLeave, Handler);
}
public override void CloseListener()
{
GlobalMessenger<uint, uint[]>.RemoveListener(EventNames.QSBPlayerLeave, (id, objects) => SendEvent(CreateMessage(id, objects)));
GlobalMessenger<uint, uint[]>.RemoveListener(EventNames.QSBPlayerLeave, Handler);
}
private void Handler(uint id, uint[] objects) => SendEvent(CreateMessage(id, objects));
private PlayerLeaveMessage CreateMessage(uint id, uint[] objects) => new PlayerLeaveMessage
{
SenderId = id,

View File

@ -9,15 +9,17 @@ namespace QSB.Events
public override void SetupListener()
{
GlobalMessenger<bool>.AddListener(EventNames.QSBPlayerReady, ready => SendEvent(CreateMessage(ready)));
GlobalMessenger<bool>.AddListener(EventNames.QSBPlayerReady, Handler);
}
public override void CloseListener()
{
DebugLog.ToConsole("Close listener for ready event");
GlobalMessenger<bool>.RemoveListener(EventNames.QSBPlayerReady, ready => SendEvent(CreateMessage(ready)));
GlobalMessenger<bool>.RemoveListener(EventNames.QSBPlayerReady, Handler);
}
private void Handler(bool ready) => SendEvent(CreateMessage(ready));
private ToggleMessage CreateMessage(bool ready) => new ToggleMessage
{
SenderId = LocalPlayerId,

View File

@ -10,14 +10,16 @@ namespace QSB.Events
public override void SetupListener()
{
GlobalMessenger.AddListener(EventNames.QSBPlayerStatesRequest, () => SendEvent(CreateMessage()));
GlobalMessenger.AddListener(EventNames.QSBPlayerStatesRequest, Handler);
}
public override void CloseListener()
{
GlobalMessenger.RemoveListener(EventNames.QSBPlayerStatesRequest, () => SendEvent(CreateMessage()));
GlobalMessenger.RemoveListener(EventNames.QSBPlayerStatesRequest, Handler);
}
private void Handler() => SendEvent(CreateMessage());
private PlayerMessage CreateMessage() => new PlayerMessage
{
SenderId = PlayerTransformSync.LocalInstance.netId.Value

View File

@ -10,14 +10,16 @@ namespace QSB.GeyserSync
public override void SetupListener()
{
GlobalMessenger<int, bool>.AddListener(EventNames.QSBGeyserState, (id, state) => SendEvent(CreateMessage(id, state)));
GlobalMessenger<int, bool>.AddListener(EventNames.QSBGeyserState, Handler);
}
public override void CloseListener()
{
GlobalMessenger<int, bool>.RemoveListener(EventNames.QSBGeyserState, (id, state) => SendEvent(CreateMessage(id, state)));
GlobalMessenger<int, bool>.RemoveListener(EventNames.QSBGeyserState, Handler);
}
private void Handler(int id, bool state) => SendEvent(CreateMessage(id, state));
private GeyserMessage CreateMessage(int id, bool state) => new GeyserMessage
{
SenderId = PlayerRegistry.LocalPlayer.NetId,

View File

@ -9,14 +9,16 @@ namespace QSB.TimeSync
public override void SetupListener()
{
GlobalMessenger<float, int>.AddListener(EventNames.QSBServerTime, (time, count) => SendEvent(CreateMessage(time, count)));
GlobalMessenger<float, int>.AddListener(EventNames.QSBServerTime, Handler);
}
public override void CloseListener()
{
GlobalMessenger<float, int>.RemoveListener(EventNames.QSBServerTime, (time, count) => SendEvent(CreateMessage(time, count)));
GlobalMessenger<float, int>.RemoveListener(EventNames.QSBServerTime, Handler);
}
private void Handler(float time, int count) => SendEvent(CreateMessage(time, count));
private ServerTimeMessage CreateMessage(float time, int count) => new ServerTimeMessage
{
SenderId = PlayerRegistry.LocalPlayer.NetId,

View File

@ -9,16 +9,19 @@ namespace QSB.Tools
public override void SetupListener()
{
GlobalMessenger.AddListener(EventNames.TurnOnFlashlight, () => SendEvent(CreateMessage(true)));
GlobalMessenger.AddListener(EventNames.TurnOffFlashlight, () => SendEvent(CreateMessage(false)));
GlobalMessenger.AddListener(EventNames.TurnOnFlashlight, HandleTurnOn);
GlobalMessenger.AddListener(EventNames.TurnOffFlashlight, HandleTurnOff);
}
public override void CloseListener()
{
GlobalMessenger.RemoveListener(EventNames.TurnOnFlashlight, () => SendEvent(CreateMessage(true)));
GlobalMessenger.RemoveListener(EventNames.TurnOffFlashlight, () => SendEvent(CreateMessage(false)));
GlobalMessenger.RemoveListener(EventNames.TurnOnFlashlight, HandleTurnOn);
GlobalMessenger.RemoveListener(EventNames.TurnOffFlashlight, HandleTurnOff);
}
private void HandleTurnOn() => SendEvent(CreateMessage(true));
private void HandleTurnOff() => SendEvent(CreateMessage(false));
private ToggleMessage CreateMessage(bool value) => new ToggleMessage
{
SenderId = LocalPlayerId,

View File

@ -9,16 +9,19 @@ namespace QSB.Tools
public override void SetupListener()
{
GlobalMessenger<SurveyorProbe>.AddListener(EventNames.LaunchProbe, probe => SendEvent(CreateMessage(true)));
GlobalMessenger<SurveyorProbe>.AddListener(EventNames.RetrieveProbe, probe => SendEvent(CreateMessage(false)));
GlobalMessenger<SurveyorProbe>.AddListener(EventNames.LaunchProbe, HandleLaunch);
GlobalMessenger<SurveyorProbe>.AddListener(EventNames.RetrieveProbe, HandleRetrieve);
}
public override void CloseListener()
{
GlobalMessenger<SurveyorProbe>.RemoveListener(EventNames.LaunchProbe, probe => SendEvent(CreateMessage(true)));
GlobalMessenger<SurveyorProbe>.RemoveListener(EventNames.RetrieveProbe, probe => SendEvent(CreateMessage(false)));
GlobalMessenger<SurveyorProbe>.RemoveListener(EventNames.LaunchProbe, HandleLaunch);
GlobalMessenger<SurveyorProbe>.RemoveListener(EventNames.RetrieveProbe, HandleRetrieve);
}
private void HandleLaunch(SurveyorProbe probe) => SendEvent(CreateMessage(true));
private void HandleRetrieve(SurveyorProbe probe) => SendEvent(CreateMessage(false));
private ToggleMessage CreateMessage(bool value) => new ToggleMessage
{
SenderId = LocalPlayerId,

View File

@ -1,6 +1,5 @@
using QSB.Events;
using QSB.Messaging;
using QSB.Utility;
namespace QSB.Tools
{
@ -10,16 +9,19 @@ namespace QSB.Tools
public override void SetupListener()
{
GlobalMessenger<ProbeLauncher>.AddListener(EventNames.ProbeLauncherEquipped, var => SendEvent(CreateMessage(true)));
GlobalMessenger<ProbeLauncher>.AddListener(EventNames.ProbeLauncherUnequipped, var => SendEvent(CreateMessage(false)));
GlobalMessenger<ProbeLauncher>.AddListener(EventNames.ProbeLauncherEquipped, HandleEquip);
GlobalMessenger<ProbeLauncher>.AddListener(EventNames.ProbeLauncherUnequipped, HandleUnequip);
}
public override void CloseListener()
{
GlobalMessenger<ProbeLauncher>.RemoveListener(EventNames.ProbeLauncherEquipped, var => SendEvent(CreateMessage(true)));
GlobalMessenger<ProbeLauncher>.RemoveListener(EventNames.ProbeLauncherUnequipped, var => SendEvent(CreateMessage(false)));
GlobalMessenger<ProbeLauncher>.RemoveListener(EventNames.ProbeLauncherEquipped, HandleEquip);
GlobalMessenger<ProbeLauncher>.RemoveListener(EventNames.ProbeLauncherUnequipped, HandleUnequip);
}
private void HandleEquip(ProbeLauncher var) => SendEvent(CreateMessage(true));
private void HandleUnequip(ProbeLauncher var) => SendEvent(CreateMessage(false));
private ToggleMessage CreateMessage(bool value) => new ToggleMessage
{
SenderId = LocalPlayerId,

View File

@ -1,6 +1,5 @@
using QSB.Events;
using QSB.Messaging;
using QSB.Utility;
namespace QSB.Tools
{
@ -10,16 +9,19 @@ namespace QSB.Tools
public override void SetupListener()
{
GlobalMessenger<Signalscope>.AddListener(EventNames.EquipSignalscope, var => SendEvent(CreateMessage(true)));
GlobalMessenger.AddListener(EventNames.UnequipSignalscope, () => SendEvent(CreateMessage(false)));
GlobalMessenger<Signalscope>.AddListener(EventNames.EquipSignalscope, HandleEquip);
GlobalMessenger.AddListener(EventNames.UnequipSignalscope, HandleUnequip);
}
public override void CloseListener()
{
GlobalMessenger<Signalscope>.RemoveListener(EventNames.EquipSignalscope, var => SendEvent(CreateMessage(true)));
GlobalMessenger.RemoveListener(EventNames.UnequipSignalscope, () => SendEvent(CreateMessage(false)));
GlobalMessenger<Signalscope>.RemoveListener(EventNames.EquipSignalscope, HandleEquip);
GlobalMessenger.RemoveListener(EventNames.UnequipSignalscope, HandleUnequip);
}
private void HandleEquip(Signalscope var) => SendEvent(CreateMessage(true));
private void HandleUnequip() => SendEvent(CreateMessage(false));
private ToggleMessage CreateMessage(bool value) => new ToggleMessage
{
SenderId = LocalPlayerId,

View File

@ -1,6 +1,5 @@
using QSB.Events;
using QSB.Messaging;
using QSB.Utility;
namespace QSB.Tools
{
@ -10,16 +9,19 @@ namespace QSB.Tools
public override void SetupListener()
{
GlobalMessenger.AddListener(EventNames.EquipTranslator, () => SendEvent(CreateMessage(true)));
GlobalMessenger.AddListener(EventNames.UnequipTranslator, () => SendEvent(CreateMessage(false)));
GlobalMessenger.AddListener(EventNames.EquipTranslator, HandleEquip);
GlobalMessenger.AddListener(EventNames.UnequipTranslator, HandleUnequip);
}
public override void CloseListener()
{
GlobalMessenger.RemoveListener(EventNames.EquipTranslator, () => SendEvent(CreateMessage(true)));
GlobalMessenger.RemoveListener(EventNames.UnequipTranslator, () => SendEvent(CreateMessage(false)));
GlobalMessenger.RemoveListener(EventNames.EquipTranslator, HandleEquip);
GlobalMessenger.RemoveListener(EventNames.UnequipTranslator, HandleUnequip);
}
private void HandleEquip() => SendEvent(CreateMessage(true));
private void HandleUnequip() => SendEvent(CreateMessage(false));
private ToggleMessage CreateMessage(bool value) => new ToggleMessage
{
SenderId = LocalPlayerId,

View File

@ -10,14 +10,16 @@ namespace QSB.TransformSync
public override void SetupListener()
{
GlobalMessenger<uint, Sector.Name, string>.AddListener(EventNames.QSBSectorChange, (netId, sectorId, sectorName) => SendEvent(CreateMessage(netId, sectorId, sectorName)));
GlobalMessenger<uint, Sector.Name, string>.AddListener(EventNames.QSBSectorChange, Handler);
}
public override void CloseListener()
{
GlobalMessenger<uint, Sector.Name, string>.RemoveListener(EventNames.QSBSectorChange, (netId, sectorId, sectorName) => SendEvent(CreateMessage(netId, sectorId, sectorName)));
GlobalMessenger<uint, Sector.Name, string>.RemoveListener(EventNames.QSBSectorChange, Handler);
}
private void Handler(uint netId, Sector.Name sectorId, string sectorName) => SendEvent(CreateMessage(netId, sectorId, sectorName));
private SectorMessage CreateMessage(uint netId, Sector.Name sectorId, string sectorName) => new SectorMessage
{
SenderId = netId,