diff --git a/QSB/Animation/PlayerSuitEvent.cs b/QSB/Animation/PlayerSuitEvent.cs index 15281b5e..683c2d4c 100644 --- a/QSB/Animation/PlayerSuitEvent.cs +++ b/QSB/Animation/PlayerSuitEvent.cs @@ -22,7 +22,7 @@ namespace QSB.Animation public override void OnReceiveRemote(ToggleMessage message) { var player = PlayerRegistry.GetPlayer(message.SenderId); - player.UpdateState(State.Suit, message.ToggleValue); + player?.UpdateState(State.Suit, message.ToggleValue); } public override void OnReceiveLocal(ToggleMessage message) diff --git a/QSB/PlayerInfo.cs b/QSB/PlayerInfo.cs index d864e382..7b9a0172 100644 --- a/QSB/PlayerInfo.cs +++ b/QSB/PlayerInfo.cs @@ -45,11 +45,11 @@ namespace QSB { return; } - FlashLight.UpdateState(FlagsHelper.IsSet(State, State.Flashlight)); - Translator.ChangeEquipState(FlagsHelper.IsSet(State, State.Translator)); - ProbeLauncher.ChangeEquipState(FlagsHelper.IsSet(State, State.ProbeLauncher)); - Signalscope.ChangeEquipState(FlagsHelper.IsSet(State, State.Signalscope)); - PlayerRegistry.GetAnimationSync(NetId).SetSuitState(FlagsHelper.IsSet(State, State.Suit)); + FlashLight?.UpdateState(FlagsHelper.IsSet(State, State.Flashlight)); + Translator?.ChangeEquipState(FlagsHelper.IsSet(State, State.Translator)); + ProbeLauncher?.ChangeEquipState(FlagsHelper.IsSet(State, State.ProbeLauncher)); + Signalscope?.ChangeEquipState(FlagsHelper.IsSet(State, State.Signalscope)); + PlayerRegistry.GetAnimationSync(NetId)?.SetSuitState(FlagsHelper.IsSet(State, State.Suit)); } public bool GetState(State state) diff --git a/QSB/QSBNetworkManager.cs b/QSB/QSBNetworkManager.cs index a5d29565..7a227b3f 100644 --- a/QSB/QSBNetworkManager.cs +++ b/QSB/QSBNetworkManager.cs @@ -143,7 +143,6 @@ namespace QSB public override void OnStopClient() // Called on the client when closing connection { - DebugLog.ToScreen("OnStopClient"); Destroy(GetComponent()); Destroy(GetComponent()); Destroy(GetComponent()); @@ -156,8 +155,6 @@ namespace QSB public override void OnServerDisconnect(NetworkConnection connection) // Called on the server when any client disconnects { - DebugLog.ToScreen("OnServerDisconnect"); - var playerId = connection.playerControllers[0].gameObject.GetComponent().netId.Value; var objectIds = connection.clientOwnedObjects.Select(x => x.Value).ToArray(); GlobalMessenger.FireEvent(EventNames.QSBPlayerLeave, playerId, objectIds); diff --git a/QSB/State.cs b/QSB/State.cs index 592afa0e..01fa5209 100644 --- a/QSB/State.cs +++ b/QSB/State.cs @@ -5,12 +5,13 @@ namespace QSB [Flags] public enum State { - Flashlight = 0, - Suit = 1, - ProbeLauncher = 2, - Signalscope = 4, - Translator = 8, - ProbeActive = 16 + None = 0, + Flashlight = 1, + Suit = 2, + ProbeLauncher = 4, + Signalscope = 8, + Translator = 16, + ProbeActive = 32 //Increment these in binary to add more states } } \ No newline at end of file diff --git a/QSB/TransformSync/PlayerSectorEvent.cs b/QSB/TransformSync/PlayerSectorEvent.cs index 9c0a321f..5c60b5aa 100644 --- a/QSB/TransformSync/PlayerSectorEvent.cs +++ b/QSB/TransformSync/PlayerSectorEvent.cs @@ -30,12 +30,12 @@ namespace QSB.TransformSync if (sector == null) { - DebugLog.ToScreen($"Sector with order id {message.ObjectId} not found!"); + DebugLog.ToConsole($"Sector with order id {message.ObjectId} not found!"); return; } var transformSync = PlayerRegistry.GetTransformSync(message.SenderId); - DebugLog.ToScreen($"{transformSync.GetType().Name} of ID {message.SenderId} set to {sector.Name}"); + //DebugLog.ToConsole($"{transformSync.GetType().Name} of ID {message.SenderId} set to {sector.Name}"); UnityHelper.Instance.RunWhen(() => transformSync.SyncedTransform != null, () => transformSync.SetReferenceSector(sector)); } diff --git a/QSB/TransformSync/QSBSectorManager.cs b/QSB/TransformSync/QSBSectorManager.cs index cb62c03d..44866ff9 100644 --- a/QSB/TransformSync/QSBSectorManager.cs +++ b/QSB/TransformSync/QSBSectorManager.cs @@ -36,7 +36,7 @@ namespace QSB.TransformSync public QSBSector GetClosestSector(Transform trans) { return WorldRegistry.GetObjects() - .Where(sector => !_sectorBlacklist.Contains(sector.Type)) + .Where(sector => sector.Sector != null && !_sectorBlacklist.Contains(sector.Type)) .OrderBy(sector => Vector3.Distance(sector.Position, trans.position)) .First(); } diff --git a/QSB/TransformSync/SectorSync.cs b/QSB/TransformSync/SectorSync.cs index 06cfca7a..483df2cb 100644 --- a/QSB/TransformSync/SectorSync.cs +++ b/QSB/TransformSync/SectorSync.cs @@ -1,6 +1,5 @@ using UnityEngine; using QSB.Events; -using QSB.Utility; namespace QSB.TransformSync { @@ -42,7 +41,7 @@ namespace QSB.TransformSync private void SendSector(uint id, QSBSector sector) { - DebugLog.ToScreen($"Sending sector {sector.Name} for id {id}"); + //DebugLog.ToConsole($"Sending sector {sector.Name} for id {id}"); GlobalMessenger.FireEvent(EventNames.QSBSectorChange, id, sector); } } diff --git a/QSB/Utility/DebugLog.cs b/QSB/Utility/DebugLog.cs index e6c2cfac..20a49f0c 100644 --- a/QSB/Utility/DebugLog.cs +++ b/QSB/Utility/DebugLog.cs @@ -1,34 +1,11 @@ -using System.Collections.Generic; -using System.Linq; +using System.Linq; using OWML.Common; using UnityEngine; -using UnityEngine.UI; namespace QSB.Utility { public class DebugLog : MonoBehaviour { - private const int ScreenLinesMax = 6; - - private static Text _screenText; - private static List _lines; - - private void Awake() - { - var assetBundle = QSB.Helper.Assets.LoadBundle("assets/debug"); - var logCanvas = Instantiate(assetBundle.LoadAsset("assets/logcanvas.prefab")); - DontDestroyOnLoad(logCanvas); - DontDestroyOnLoad(this); - logCanvas.GetComponent().sortingOrder = 9999; - _screenText = logCanvas.GetComponentInChildren(); - - _lines = new List(ScreenLinesMax); - for (var i = 0; i < ScreenLinesMax; i++) - { - _lines.Add("."); - } - } - private static string JoinAll(params object[] logObjects) { return string.Join(" ", logObjects.Select(o => o.ToString()).ToArray()); @@ -44,18 +21,6 @@ namespace QSB.Utility QSB.Helper.Console.WriteLine(message, type); } - public static void ToScreen(params object[] logObjects) - { - /* - for (var i = 1; i < ScreenLinesMax; i++) - { - _lines[i - 1] = _lines[i]; - } - _lines.Insert(ScreenLinesMax - 1, JoinAll(logObjects)); - _screenText.text = string.Join("\n", _lines.ToArray()); - */ - } - public static void ToHud(params object[] logObjects) { if (Locator.GetPlayerBody() == null) @@ -69,7 +34,6 @@ namespace QSB.Utility public static void ToAll(MessageType type, params object[] logObjects) { ToConsole(JoinAll(logObjects), type); - ToScreen(logObjects); ToHud(logObjects); }