From b4c8f451cb0de5360deab47dd57cbdd7009432a3 Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sat, 5 Sep 2020 13:28:28 +0100 Subject: [PATCH] cleanup --- QSB/OrbSync/OrbSlotEvent.cs | 1 - QSB/OrbSync/QSBOrbSlot.cs | 15 +++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/QSB/OrbSync/OrbSlotEvent.cs b/QSB/OrbSync/OrbSlotEvent.cs index 10704000..5f45bab7 100644 --- a/QSB/OrbSync/OrbSlotEvent.cs +++ b/QSB/OrbSync/OrbSlotEvent.cs @@ -29,7 +29,6 @@ namespace QSB.OrbSync public override void OnReceiveRemote(BoolWorldObjectMessage message) { - var orbSlot = WorldRegistry.GetObject(message.ObjectId); orbSlot?.SetState(message.State); } diff --git a/QSB/OrbSync/QSBOrbSlot.cs b/QSB/OrbSync/QSBOrbSlot.cs index cd3916d8..c12388d5 100644 --- a/QSB/OrbSync/QSBOrbSlot.cs +++ b/QSB/OrbSync/QSBOrbSlot.cs @@ -1,6 +1,7 @@ using QSB.Events; using QSB.WorldSync; using System; +using System.Linq; using System.Reflection; using UnityEngine.Networking; @@ -14,7 +15,6 @@ namespace QSB.OrbSync { ObjectId = id; _interfaceSlot = slot; - _interfaceSlot.OnSlotActivated += (slotInstance) => HandleEvent(slotInstance, true); _interfaceSlot.OnSlotDeactivated += (slotInstance) => HandleEvent(slotInstance, false); } @@ -32,11 +32,9 @@ namespace QSB.OrbSync if (state) { RaiseEvent(_interfaceSlot, "OnSlotActivated"); + return; } - else - { - RaiseEvent(_interfaceSlot, "OnSlotDeactivated"); - } + RaiseEvent(_interfaceSlot, "OnSlotDeactivated"); } private static void RaiseEvent(object instance, string eventName) @@ -45,11 +43,8 @@ namespace QSB.OrbSync var staticFlags = BindingFlags.Instance | BindingFlags.NonPublic; var fieldInfo = type.GetField(eventName, staticFlags); var multDelegate = fieldInfo.GetValue(instance) as MulticastDelegate; - var delegateList = multDelegate.GetInvocationList(); - foreach (var delegateMethod in delegateList) - { - delegateMethod.DynamicInvoke(instance); - } + var delegateList = multDelegate.GetInvocationList().ToList(); + delegateList.ForEach(x => x.DynamicInvoke(instance)); } } }