From 8a27aefb443f5267e03aa66c3e1dcfa844e391de Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sat, 20 Nov 2021 11:48:46 +0000 Subject: [PATCH 1/8] remove PlayerState, add launch code event --- QSB/Animation/Player/AnimationSync.cs | 2 +- .../Player/Events/ChangeAnimTypeEvent.cs | 2 +- .../Player/Events/PlayerSuitEvent.cs | 6 +- QSB/Events/EventNames.cs | 1 + QSB/Events/QSBEventManager.cs | 1 + QSB/Player/Events/LaunchCodesEvent.cs | 39 +++++++++++++ QSB/Player/Events/PlayerInformationEvent.cs | 8 ++- QSB/Player/Events/PlayerInformationMessage.cs | 39 +++++++------ QSB/Player/Events/PlayerJoinEvent.cs | 2 +- QSB/Player/Events/PlayerReadyEvent.cs | 2 +- QSB/Player/Patches/PlayerPatches.cs | 2 +- QSB/Player/PlayerHUDMarker.cs | 2 +- QSB/Player/PlayerInfo.cs | 24 +++++--- QSB/Player/PlayerState.cs | 14 ----- QSB/Player/QSBPlayerManager.cs | 12 +++- .../TransformSync/PlayerTransformSync.cs | 4 +- QSB/QSB.csproj | 2 +- QSB/StatueSync/Events/StartStatueEvent.cs | 8 ++- QSB/StatueSync/StatueManager.cs | 8 ++- QSB/Syncs/Sectored/BaseSectoredSync.cs | 2 +- QSB/Syncs/SyncBase.cs | 2 +- QSB/TimeSync/Patches/TimePatches.cs | 7 ++- .../Events/PlayerFlashlightEvent.cs | 4 +- .../Events/EquipProbeLauncherEvent.cs | 4 +- .../ProbeTool/Events/PlayerProbeEvent.cs | 2 +- .../Events/ProbeStartRetrieveEvent.cs | 2 +- .../Events/PlayerSignalscopeEvent.cs | 4 +- .../Events/PlayerTranslatorEvent.cs | 4 +- QSB/Utility/DebugGUI.cs | 58 ++++++++++++++----- QSB/WorldSync/WorldObjectManager.cs | 4 +- 30 files changed, 182 insertions(+), 89 deletions(-) create mode 100644 QSB/Player/Events/LaunchCodesEvent.cs delete mode 100644 QSB/Player/PlayerState.cs diff --git a/QSB/Animation/Player/AnimationSync.cs b/QSB/Animation/Player/AnimationSync.cs index 53204e38..986fd5c0 100644 --- a/QSB/Animation/Player/AnimationSync.cs +++ b/QSB/Animation/Player/AnimationSync.cs @@ -155,7 +155,7 @@ namespace QSB.Animation.Player public void SetSuitState(bool state) { - if (!Player.PlayerStates.IsReady) + if (!Player.IsReady) { return; } diff --git a/QSB/Animation/Player/Events/ChangeAnimTypeEvent.cs b/QSB/Animation/Player/Events/ChangeAnimTypeEvent.cs index d7ec029d..063ffb2e 100644 --- a/QSB/Animation/Player/Events/ChangeAnimTypeEvent.cs +++ b/QSB/Animation/Player/Events/ChangeAnimTypeEvent.cs @@ -22,7 +22,7 @@ namespace QSB.Animation.Player.Events public override void OnReceiveRemote(bool server, EnumMessage message) { - if (!QSBCore.WorldObjectsReady || !QSBPlayerManager.GetPlayer(message.AboutId).PlayerStates.IsReady) + if (!QSBCore.WorldObjectsReady || !QSBPlayerManager.GetPlayer(message.AboutId).IsReady) { return; } diff --git a/QSB/Animation/Player/Events/PlayerSuitEvent.cs b/QSB/Animation/Player/Events/PlayerSuitEvent.cs index 87f2dd1f..7848e515 100644 --- a/QSB/Animation/Player/Events/PlayerSuitEvent.cs +++ b/QSB/Animation/Player/Events/PlayerSuitEvent.cs @@ -32,9 +32,9 @@ namespace QSB.Animation.Player.Events public override void OnReceiveRemote(bool server, ToggleMessage message) { var player = QSBPlayerManager.GetPlayer(message.AboutId); - player.PlayerStates.SuitedUp = message.ToggleValue; + player.SuitedUp = message.ToggleValue; - if (!QSBCore.WorldObjectsReady || !player.PlayerStates.IsReady) + if (!QSBCore.WorldObjectsReady || !player.IsReady) { return; } @@ -46,7 +46,7 @@ namespace QSB.Animation.Player.Events public override void OnReceiveLocal(bool server, ToggleMessage message) { - QSBPlayerManager.LocalPlayer.PlayerStates.SuitedUp = message.ToggleValue; + QSBPlayerManager.LocalPlayer.SuitedUp = message.ToggleValue; var animator = QSBPlayerManager.LocalPlayer.AnimationSync; var type = message.ToggleValue ? AnimationType.PlayerSuited : AnimationType.PlayerUnsuited; animator.CurrentType = type; diff --git a/QSB/Events/EventNames.cs b/QSB/Events/EventNames.cs index 768576e6..5eb65a30 100644 --- a/QSB/Events/EventNames.cs +++ b/QSB/Events/EventNames.cs @@ -24,6 +24,7 @@ public static string ExitFlightConsole = "ExitFlightConsole"; public static string EnterShip = "EnterShip"; public static string ExitShip = "ExitShip"; + public static string LaunchCodes = "LearnLaunchCodes"; // Custom event names -- change if you want! These can be anything, as long as both // sides of the GlobalMessenger (fireevent and addlistener) reference the same thing. diff --git a/QSB/Events/QSBEventManager.cs b/QSB/Events/QSBEventManager.cs index 1336ee66..3431e35a 100644 --- a/QSB/Events/QSBEventManager.cs +++ b/QSB/Events/QSBEventManager.cs @@ -77,6 +77,7 @@ namespace QSB.Events new DebugEvent(), new SatelliteProjectorEvent(), new SatelliteProjectorSnapshotEvent(), + new LaunchCodesEvent(), // World Objects new ElevatorEvent(), new GeyserEvent(), diff --git a/QSB/Player/Events/LaunchCodesEvent.cs b/QSB/Player/Events/LaunchCodesEvent.cs new file mode 100644 index 00000000..d6547bc4 --- /dev/null +++ b/QSB/Player/Events/LaunchCodesEvent.cs @@ -0,0 +1,39 @@ +using QSB.Events; +using QSB.Messaging; + +namespace QSB.Player.Events +{ + internal class LaunchCodesEvent : QSBEvent + { + public override EventType Type => EventType.PlayerInformation; + + public override void SetupListener() => GlobalMessenger.AddListener(EventNames.LaunchCodes, Handler); + public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.LaunchCodes, Handler); + + private void Handler() => SendEvent(CreateMessage()); + + private PlayerMessage CreateMessage() => new PlayerMessage + { + AboutId = LocalPlayerId + }; + + public override void OnReceiveRemote(bool isHost, PlayerMessage message) + { + var flag = false; + if (!PlayerData._currentGameSave.PersistentConditionExists("LAUNCH_CODES_GIVEN")) + { + flag = true; + } + + else if (PlayerData._currentGameSave.GetPersistentCondition("LAUNCH_CODES_GIVEN")) + { + flag = true; + } + + if (flag) + { + PlayerData._currentGameSave.SetPersistentCondition("LAUNCH_CODES_GIVEN", true); + } + } + } +} diff --git a/QSB/Player/Events/PlayerInformationEvent.cs b/QSB/Player/Events/PlayerInformationEvent.cs index 89e0ba55..03fb8279 100644 --- a/QSB/Player/Events/PlayerInformationEvent.cs +++ b/QSB/Player/Events/PlayerInformationEvent.cs @@ -17,7 +17,13 @@ namespace QSB.Player.Events { AboutId = player.PlayerId, PlayerName = player.Name, - PlayerState = player.PlayerStates, + IsReady = player.IsReady, + FlashlightActive = player.FlashlightActive, + SuitedUp = player.SuitedUp, + ProbeLauncherEquipped = player.ProbeLauncherEquipped, + SignalscopeEquipped = player.SignalscopeEquipped, + TranslatorEquipped = player.TranslatorEquipped, + ProbeActive = player.ProbeActive, ClientState = player.State }; diff --git a/QSB/Player/Events/PlayerInformationMessage.cs b/QSB/Player/Events/PlayerInformationMessage.cs index 851a7b31..a088a33f 100644 --- a/QSB/Player/Events/PlayerInformationMessage.cs +++ b/QSB/Player/Events/PlayerInformationMessage.cs @@ -7,23 +7,26 @@ namespace QSB.Player.Events public class PlayerInformationMessage : PlayerMessage { public string PlayerName { get; set; } - public PlayerState PlayerState { get; set; } + public bool IsReady { get; set; } + public bool FlashlightActive { get; set; } + public bool SuitedUp { get; set; } + public bool ProbeLauncherEquipped { get; set; } + public bool SignalscopeEquipped { get; set; } + public bool TranslatorEquipped { get; set; } + public bool ProbeActive { get; set; } public ClientState ClientState { get; set; } public override void Deserialize(QNetworkReader reader) { base.Deserialize(reader); PlayerName = reader.ReadString(); - PlayerState = new PlayerState - { - IsReady = reader.ReadBoolean(), - FlashlightActive = reader.ReadBoolean(), - SuitedUp = reader.ReadBoolean(), - ProbeLauncherEquipped = reader.ReadBoolean(), - SignalscopeEquipped = reader.ReadBoolean(), - TranslatorEquipped = reader.ReadBoolean(), - ProbeActive = reader.ReadBoolean() - }; + IsReady = reader.ReadBoolean(); + FlashlightActive = reader.ReadBoolean(); + SuitedUp = reader.ReadBoolean(); + ProbeLauncherEquipped = reader.ReadBoolean(); + SignalscopeEquipped = reader.ReadBoolean(); + TranslatorEquipped = reader.ReadBoolean(); + ProbeActive = reader.ReadBoolean(); ClientState = (ClientState)reader.ReadInt32(); } @@ -31,13 +34,13 @@ namespace QSB.Player.Events { base.Serialize(writer); writer.Write(PlayerName); - writer.Write(PlayerState.IsReady); - writer.Write(PlayerState.FlashlightActive); - writer.Write(PlayerState.SuitedUp); - writer.Write(PlayerState.ProbeLauncherEquipped); - writer.Write(PlayerState.SignalscopeEquipped); - writer.Write(PlayerState.TranslatorEquipped); - writer.Write(PlayerState.ProbeActive); + writer.Write(IsReady); + writer.Write(FlashlightActive); + writer.Write(SuitedUp); + writer.Write(ProbeLauncherEquipped); + writer.Write(SignalscopeEquipped); + writer.Write(TranslatorEquipped); + writer.Write(ProbeActive); writer.Write((int)ClientState); } } diff --git a/QSB/Player/Events/PlayerJoinEvent.cs b/QSB/Player/Events/PlayerJoinEvent.cs index 7a3f0149..58384635 100644 --- a/QSB/Player/Events/PlayerJoinEvent.cs +++ b/QSB/Player/Events/PlayerJoinEvent.cs @@ -70,7 +70,7 @@ namespace QSB.Player.Events if (QSBSceneManager.IsInUniverse) { - QSBPlayerManager.LocalPlayer.PlayerStates.IsReady = true; + QSBPlayerManager.LocalPlayer.IsReady = true; QSBEventManager.FireEvent(EventNames.QSBPlayerReady, true); } } diff --git a/QSB/Player/Events/PlayerReadyEvent.cs b/QSB/Player/Events/PlayerReadyEvent.cs index 88b147b9..018d5b96 100644 --- a/QSB/Player/Events/PlayerReadyEvent.cs +++ b/QSB/Player/Events/PlayerReadyEvent.cs @@ -35,7 +35,7 @@ namespace QSB.Player.Events private static void HandleServer(ToggleMessage message) { DebugLog.DebugWrite($"[SERVER] Get ready event from {message.FromId}", MessageType.Success); - QSBPlayerManager.GetPlayer(message.AboutId).PlayerStates.IsReady = message.ToggleValue; + QSBPlayerManager.GetPlayer(message.AboutId).IsReady = message.ToggleValue; QSBEventManager.FireEvent(EventNames.QSBPlayerInformation); } diff --git a/QSB/Player/Patches/PlayerPatches.cs b/QSB/Player/Patches/PlayerPatches.cs index 383ebaba..c4e44fec 100644 --- a/QSB/Player/Patches/PlayerPatches.cs +++ b/QSB/Player/Patches/PlayerPatches.cs @@ -21,6 +21,6 @@ namespace QSB.Player.Patches [HarmonyPrefix] [HarmonyPatch(typeof(PauseMenuManager), nameof(PauseMenuManager.OnExitToMainMenu))] public static void PauseMenuManager_OnExitToMainMenu() - => QSBPlayerManager.LocalPlayer.PlayerStates.IsReady = false; + => QSBPlayerManager.LocalPlayer.IsReady = false; } } diff --git a/QSB/Player/PlayerHUDMarker.cs b/QSB/Player/PlayerHUDMarker.cs index b0818d82..30f4d5a1 100644 --- a/QSB/Player/PlayerHUDMarker.cs +++ b/QSB/Player/PlayerHUDMarker.cs @@ -34,7 +34,7 @@ namespace QSB.Player Initialize(); } - if (!_isReady || !_player.PlayerStates.IsReady) + if (!_isReady || !_player.IsReady) { return; } diff --git a/QSB/Player/PlayerInfo.cs b/QSB/Player/PlayerInfo.cs index 584cd0de..f279ef4b 100644 --- a/QSB/Player/PlayerInfo.cs +++ b/QSB/Player/PlayerInfo.cs @@ -22,7 +22,6 @@ namespace QSB.Player public uint PlayerId { get; } public string Name { get; set; } public PlayerHUDMarker HudMarker { get; set; } - public PlayerState PlayerStates { get; set; } = new PlayerState(); public PlayerTransformSync TransformSync { get; set; } // Body Objects @@ -30,10 +29,11 @@ namespace QSB.Player { get { - if (_camera == null && PlayerStates.IsReady) + if (_camera == null && IsReady) { DebugLog.ToConsole($"Warning - {PlayerId}.Camera is null!", MessageType.Warning); } + return _camera; } set @@ -42,6 +42,7 @@ namespace QSB.Player { DebugLog.ToConsole($"Warning - Setting {PlayerId}.Camera to null.", MessageType.Warning); } + _camera = value; } } @@ -52,7 +53,7 @@ namespace QSB.Player { get { - if (_body == null && PlayerStates.IsReady) + if (_body == null && IsReady) { DebugLog.ToConsole($"Warning - {PlayerId}.Body is null!", MessageType.Warning); } @@ -114,11 +115,18 @@ namespace QSB.Player public JetpackAccelerationSync JetpackAcceleration { get; set; } // Misc + public bool IsReady { get; set; } public bool IsInMoon; // MOVE : move into PlayerStates? public bool IsInShrine; // MOVE : move into PlayerStates? public IQSBQuantumObject EntangledObject; public bool IsDead { get; set; } public ClientState State { get; set; } + public bool FlashlightActive { get; set; } + public bool SuitedUp { get; set; } + public bool ProbeLauncherEquipped { get; set; } + public bool SignalscopeEquipped { get; set; } + public bool TranslatorEquipped { get; set; } + public bool ProbeActive { get; set; } // Local only public PlayerProbeLauncher LocalProbeLauncher @@ -190,12 +198,12 @@ namespace QSB.Player return; } - FlashLight?.UpdateState(PlayerStates.FlashlightActive); - Translator?.ChangeEquipState(PlayerStates.TranslatorEquipped); - ProbeLauncher?.ChangeEquipState(PlayerStates.ProbeLauncherEquipped); - Signalscope?.ChangeEquipState(PlayerStates.SignalscopeEquipped); + FlashLight?.UpdateState(FlashlightActive); + Translator?.ChangeEquipState(TranslatorEquipped); + ProbeLauncher?.ChangeEquipState(ProbeLauncherEquipped); + Signalscope?.ChangeEquipState(SignalscopeEquipped); QSBCore.UnityEvents.RunWhen(() => QSBPlayerManager.GetSyncObject(PlayerId) != null, - () => QSBPlayerManager.GetSyncObject(PlayerId).SetSuitState(PlayerStates.SuitedUp)); + () => QSBPlayerManager.GetSyncObject(PlayerId).SetSuitState(SuitedUp)); } private QSBTool GetToolByType(ToolType type) => CameraBody?.GetComponentsInChildren() diff --git a/QSB/Player/PlayerState.cs b/QSB/Player/PlayerState.cs deleted file mode 100644 index 0d0efb4a..00000000 --- a/QSB/Player/PlayerState.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace QSB.Player -{ - public class PlayerState - { - public bool IsReady { get; set; } - - public bool FlashlightActive { get; set; } - public bool SuitedUp { get; set; } - public bool ProbeLauncherEquipped { get; set; } - public bool SignalscopeEquipped { get; set; } - public bool TranslatorEquipped { get; set; } - public bool ProbeActive { get; set; } - } -} diff --git a/QSB/Player/QSBPlayerManager.cs b/QSB/Player/QSBPlayerManager.cs index 7a5efe55..12997a5c 100644 --- a/QSB/Player/QSBPlayerManager.cs +++ b/QSB/Player/QSBPlayerManager.cs @@ -82,8 +82,14 @@ namespace QSB.Player { var player = GetPlayer(message.AboutId); player.Name = message.PlayerName; - player.PlayerStates = message.PlayerState; - if (LocalPlayer.PlayerStates.IsReady) + player.IsReady = message.IsReady; + player.FlashlightActive = message.FlashlightActive; + player.SuitedUp = message.SuitedUp; + player.ProbeLauncherEquipped = message.ProbeLauncherEquipped; + player.SignalscopeEquipped = message.SignalscopeEquipped; + player.TranslatorEquipped = message.TranslatorEquipped; + player.ProbeActive = message.ProbeActive; + if (LocalPlayer.IsReady) { player.UpdateStateObjects(); } @@ -172,7 +178,7 @@ namespace QSB.Player return null; } - return playerList.Where(x => x.PlayerStates.IsReady).OrderBy(x => Vector3.Distance(x.Body.transform.position, worldPoint)).FirstOrDefault(); + return playerList.Where(x => x.IsReady).OrderBy(x => Vector3.Distance(x.Body.transform.position, worldPoint)).FirstOrDefault(); } public static IEnumerable> GetPlayerCarryItems() diff --git a/QSB/Player/TransformSync/PlayerTransformSync.cs b/QSB/Player/TransformSync/PlayerTransformSync.cs index 6dbd20dc..df277665 100644 --- a/QSB/Player/TransformSync/PlayerTransformSync.cs +++ b/QSB/Player/TransformSync/PlayerTransformSync.cs @@ -60,12 +60,12 @@ namespace QSB.Player.TransformSync if (isInUniverse) { - Player.PlayerStates.IsReady = true; + Player.IsReady = true; QSBEventManager.FireEvent(EventNames.QSBPlayerReady, true); } else { - Player.PlayerStates.IsReady = false; + Player.IsReady = false; QSBEventManager.FireEvent(EventNames.QSBPlayerReady, false); } diff --git a/QSB/QSB.csproj b/QSB/QSB.csproj index 88b5d5b5..ee5ee864 100644 --- a/QSB/QSB.csproj +++ b/QSB/QSB.csproj @@ -88,6 +88,7 @@ + @@ -147,7 +148,6 @@ - diff --git a/QSB/StatueSync/Events/StartStatueEvent.cs b/QSB/StatueSync/Events/StartStatueEvent.cs index 75238b05..0d1ee18e 100644 --- a/QSB/StatueSync/Events/StartStatueEvent.cs +++ b/QSB/StatueSync/Events/StartStatueEvent.cs @@ -1,5 +1,6 @@ using QSB.ClientServerStateSync; using QSB.Events; +using QSB.Utility; using UnityEngine; namespace QSB.StatueSync.Events @@ -27,6 +28,8 @@ namespace QSB.StatueSync.Events public override void OnReceiveLocal(bool server, StartStatueMessage message) { + DebugLog.DebugWrite($"OnReceiveLocal StartStatueEvent"); + if (!QSBCore.IsHost) { return; @@ -36,6 +39,9 @@ namespace QSB.StatueSync.Events } public override void OnReceiveRemote(bool server, StartStatueMessage message) - => StatueManager.Instance.BeginSequence(message.PlayerPosition, message.PlayerRotation, message.CameraDegrees); + { + DebugLog.DebugWrite($"OnReceiveRemote StartStatueEvent"); + StatueManager.Instance.BeginSequence(message.PlayerPosition, message.PlayerRotation, message.CameraDegrees); + } } } diff --git a/QSB/StatueSync/StatueManager.cs b/QSB/StatueSync/StatueManager.cs index c19718c4..207f68e4 100644 --- a/QSB/StatueSync/StatueManager.cs +++ b/QSB/StatueSync/StatueManager.cs @@ -1,4 +1,5 @@ using QSB.Player; +using QSB.Utility; using System.Collections; using UnityEngine; @@ -11,6 +12,7 @@ namespace QSB.StatueSync private void Awake() { + DebugLog.DebugWrite($"Awake"); Instance = this; QSBSceneManager.OnUniverseSceneLoaded += (OWScene oldScene, OWScene newScene) => QSBPlayerManager.ShowAllPlayers(); } @@ -19,10 +21,14 @@ namespace QSB.StatueSync => QSBSceneManager.OnUniverseSceneLoaded -= (OWScene oldScene, OWScene newScene) => QSBPlayerManager.ShowAllPlayers(); public void BeginSequence(Vector3 position, Quaternion rotation, float cameraDegrees) - => StartCoroutine(BeginRemoteUplinkSequence(position, rotation, cameraDegrees)); + { + DebugLog.DebugWrite($"Begin Sequence"); + StartCoroutine(BeginRemoteUplinkSequence(position, rotation, cameraDegrees)); + } private IEnumerator BeginRemoteUplinkSequence(Vector3 position, Quaternion rotation, float cameraDegrees) { + DebugLog.DebugWrite($"Begin Remote Uplink Sequence"); HasStartedStatueLocally = true; var cameraEffectController = Locator.GetPlayerCamera().GetComponent(); cameraEffectController.CloseEyes(0.5f); diff --git a/QSB/Syncs/Sectored/BaseSectoredSync.cs b/QSB/Syncs/Sectored/BaseSectoredSync.cs index 031666b9..846d0804 100644 --- a/QSB/Syncs/Sectored/BaseSectoredSync.cs +++ b/QSB/Syncs/Sectored/BaseSectoredSync.cs @@ -121,7 +121,7 @@ namespace QSB.Syncs.Sectored { writer.Write(-1); } - else if (!Player.PlayerStates.IsReady) + else if (!Player.IsReady) { writer.Write(-1); } diff --git a/QSB/Syncs/SyncBase.cs b/QSB/Syncs/SyncBase.cs index b991ea2f..753c0b1b 100644 --- a/QSB/Syncs/SyncBase.cs +++ b/QSB/Syncs/SyncBase.cs @@ -73,7 +73,7 @@ namespace QSB.Syncs public PlayerInfo Player => QSBPlayerManager.GetPlayer(PlayerId); private bool _baseIsReady => QSBPlayerManager.PlayerExists(PlayerId) && Player != null - && Player.PlayerStates.IsReady + && Player.IsReady && NetId.Value != uint.MaxValue && NetId.Value != 0U && WorldObjectManager.AllReady; diff --git a/QSB/TimeSync/Patches/TimePatches.cs b/QSB/TimeSync/Patches/TimePatches.cs index 7b43dd11..4db5bc36 100644 --- a/QSB/TimeSync/Patches/TimePatches.cs +++ b/QSB/TimeSync/Patches/TimePatches.cs @@ -1,5 +1,6 @@ using HarmonyLib; using QSB.Patches; +using QSB.Utility; namespace QSB.TimeSync.Patches { @@ -11,8 +12,10 @@ namespace QSB.TimeSync.Patches [HarmonyPrefix] [HarmonyPatch(typeof(PlayerCameraEffectController), nameof(PlayerCameraEffectController.OnStartOfTimeLoop))] public static bool PlayerCameraEffectController_OnStartOfTimeLoop() - => false; - + { + DebugLog.DebugWrite($"OnStartOfTimeLoop"); + return false; + } [HarmonyPrefix] [HarmonyPatch(typeof(OWTime), nameof(OWTime.Pause))] public static bool StopPausing() diff --git a/QSB/Tools/FlashlightTool/Events/PlayerFlashlightEvent.cs b/QSB/Tools/FlashlightTool/Events/PlayerFlashlightEvent.cs index 8865a744..0d405bb2 100644 --- a/QSB/Tools/FlashlightTool/Events/PlayerFlashlightEvent.cs +++ b/QSB/Tools/FlashlightTool/Events/PlayerFlashlightEvent.cs @@ -32,11 +32,11 @@ namespace QSB.Tools.FlashlightTool.Events public override void OnReceiveRemote(bool server, ToggleMessage message) { var player = QSBPlayerManager.GetPlayer(message.AboutId); - player.PlayerStates.FlashlightActive = message.ToggleValue; + player.FlashlightActive = message.ToggleValue; player.FlashLight?.UpdateState(message.ToggleValue); } public override void OnReceiveLocal(bool server, ToggleMessage message) => - QSBPlayerManager.LocalPlayer.PlayerStates.FlashlightActive = message.ToggleValue; + QSBPlayerManager.LocalPlayer.FlashlightActive = message.ToggleValue; } } \ No newline at end of file diff --git a/QSB/Tools/ProbeLauncherTool/Events/EquipProbeLauncherEvent.cs b/QSB/Tools/ProbeLauncherTool/Events/EquipProbeLauncherEvent.cs index 378b60e3..1660a705 100644 --- a/QSB/Tools/ProbeLauncherTool/Events/EquipProbeLauncherEvent.cs +++ b/QSB/Tools/ProbeLauncherTool/Events/EquipProbeLauncherEvent.cs @@ -66,11 +66,11 @@ namespace QSB.Tools.ProbeLauncherTool.Events public override void OnReceiveRemote(bool server, ToggleMessage message) { var player = QSBPlayerManager.GetPlayer(message.AboutId); - player.PlayerStates.ProbeLauncherEquipped = message.ToggleValue; + player.ProbeLauncherEquipped = message.ToggleValue; player.ProbeLauncher?.ChangeEquipState(message.ToggleValue); } public override void OnReceiveLocal(bool server, ToggleMessage message) => - QSBPlayerManager.LocalPlayer.PlayerStates.ProbeLauncherEquipped = message.ToggleValue; + QSBPlayerManager.LocalPlayer.ProbeLauncherEquipped = message.ToggleValue; } } \ No newline at end of file diff --git a/QSB/Tools/ProbeTool/Events/PlayerProbeEvent.cs b/QSB/Tools/ProbeTool/Events/PlayerProbeEvent.cs index c63f9dfc..f40c6f00 100644 --- a/QSB/Tools/ProbeTool/Events/PlayerProbeEvent.cs +++ b/QSB/Tools/ProbeTool/Events/PlayerProbeEvent.cs @@ -25,7 +25,7 @@ namespace QSB.Tools.ProbeTool.Events public override void OnReceiveRemote(bool server, EnumMessage message) { var player = QSBPlayerManager.GetPlayer(message.AboutId); - if (!player.PlayerStates.IsReady || player.Probe == null) + if (!player.IsReady || player.Probe == null) { return; } diff --git a/QSB/Tools/ProbeTool/Events/ProbeStartRetrieveEvent.cs b/QSB/Tools/ProbeTool/Events/ProbeStartRetrieveEvent.cs index b0c1cdf8..df98cbcb 100644 --- a/QSB/Tools/ProbeTool/Events/ProbeStartRetrieveEvent.cs +++ b/QSB/Tools/ProbeTool/Events/ProbeStartRetrieveEvent.cs @@ -25,7 +25,7 @@ namespace QSB.Tools.ProbeTool.Events public override void OnReceiveRemote(bool server, FloatMessage message) { var player = QSBPlayerManager.GetPlayer(message.AboutId); - if (!player.PlayerStates.IsReady || player.Probe == null) + if (!player.IsReady || player.Probe == null) { return; } diff --git a/QSB/Tools/SignalscopeTool/Events/PlayerSignalscopeEvent.cs b/QSB/Tools/SignalscopeTool/Events/PlayerSignalscopeEvent.cs index 1463010f..94ce4516 100644 --- a/QSB/Tools/SignalscopeTool/Events/PlayerSignalscopeEvent.cs +++ b/QSB/Tools/SignalscopeTool/Events/PlayerSignalscopeEvent.cs @@ -32,11 +32,11 @@ namespace QSB.Tools.SignalscopeTool.Events public override void OnReceiveRemote(bool server, ToggleMessage message) { var player = QSBPlayerManager.GetPlayer(message.AboutId); - player.PlayerStates.SignalscopeEquipped = message.ToggleValue; + player.SignalscopeEquipped = message.ToggleValue; player.Signalscope?.ChangeEquipState(message.ToggleValue); } public override void OnReceiveLocal(bool server, ToggleMessage message) => - QSBPlayerManager.LocalPlayer.PlayerStates.SignalscopeEquipped = message.ToggleValue; + QSBPlayerManager.LocalPlayer.SignalscopeEquipped = message.ToggleValue; } } \ No newline at end of file diff --git a/QSB/Tools/TranslatorTool/Events/PlayerTranslatorEvent.cs b/QSB/Tools/TranslatorTool/Events/PlayerTranslatorEvent.cs index 82570126..d51398c1 100644 --- a/QSB/Tools/TranslatorTool/Events/PlayerTranslatorEvent.cs +++ b/QSB/Tools/TranslatorTool/Events/PlayerTranslatorEvent.cs @@ -32,11 +32,11 @@ namespace QSB.Tools.TranslatorTool.Events public override void OnReceiveRemote(bool server, ToggleMessage message) { var player = QSBPlayerManager.GetPlayer(message.AboutId); - player.PlayerStates.TranslatorEquipped = message.ToggleValue; + player.TranslatorEquipped = message.ToggleValue; player.Translator?.ChangeEquipState(message.ToggleValue); } public override void OnReceiveLocal(bool server, ToggleMessage message) => - QSBPlayerManager.LocalPlayer.PlayerStates.TranslatorEquipped = message.ToggleValue; + QSBPlayerManager.LocalPlayer.TranslatorEquipped = message.ToggleValue; } } \ No newline at end of file diff --git a/QSB/Utility/DebugGUI.cs b/QSB/Utility/DebugGUI.cs index e5d4e212..65b78a50 100644 --- a/QSB/Utility/DebugGUI.cs +++ b/QSB/Utility/DebugGUI.cs @@ -3,6 +3,9 @@ using QSB.ClientServerStateSync; using QSB.OrbSync.TransformSync; using QSB.Player; using QSB.QuantumSync; +using QSB.ShipSync; +using QSB.ShipSync.TransformSync; +using QSB.ShipSync.WorldObjects; using QSB.Syncs; using QSB.TimeSync; using QSB.WorldSync; @@ -96,8 +99,11 @@ namespace QSB.Utility { WriteLine(1, $"Reason : NULL"); } + WriteLine(1, $"Time Difference : {WakeUpSync.LocalInstance.GetTimeDifference()}"); WriteLine(1, $"Timescale : {OWTime.GetTimeScale()}"); + WriteLine(1, $"Time Remaining : {Mathf.Floor(TimeLoop.GetSecondsRemaining() / 60f)}:{Mathf.Round(TimeLoop.GetSecondsRemaining() % 60f * 100f / 100f)}"); + WriteLine(1, $"Loop Count : {TimeLoop.GetLoopCount()}"); } #endregion @@ -110,35 +116,56 @@ namespace QSB.Utility WriteLine(2, $"State : {player.State}"); WriteLine(2, $"Dead : {player.IsDead}"); WriteLine(2, $"Visible : {player.Visible}"); + WriteLine(2, $"Ready : {player.IsReady}"); - if (player.PlayerStates.IsReady && QSBCore.WorldObjectsReady) + if (player.IsReady && QSBCore.WorldObjectsReady) { var networkTransform = player.TransformSync; var referenceSector = networkTransform.ReferenceSector; var referenceTransform = networkTransform.ReferenceTransform; var parent = networkTransform.AttachedObject?.transform.parent; - var intermediary = networkTransform.GetValue("_intermediaryTransform"); - var interTransform = intermediary.GetReferenceTransform(); - WriteLine(2, $" - L.Pos : {networkTransform.transform.localPosition}"); WriteLine(2, $" - Ref. Sector : {(referenceSector == null ? "NULL" : referenceSector.Name)}"); WriteLine(2, $" - Ref. Transform : {(referenceTransform == null ? "NULL" : referenceTransform.name)}"); - WriteLine(2, $" - Inter. Ref. Transform : {(interTransform == null ? "NULL" : interTransform.name)}"); WriteLine(2, $" - Parent : {(parent == null ? "NULL" : parent.name)}"); - - /* - var probeSync = SyncBase.GetPlayers(player); - if (probeSync != default) - { - var probeSector = probeSync.ReferenceSector; - GUI.Label(new Rect(420, offset2, 400f, 20f), $" - Probe Sector : {(probeSector == null ? "NULL" : probeSector.Name)}", guiStyle); - offset2 += _debugLineSpacing; - } - */ } } #endregion + #region Column3 - Ship data + + WriteLine(3, $"Current Flyer : {ShipManager.Instance.CurrentFlyer}"); + if (ShipTransformSync.LocalInstance != null) + { + var instance = ShipTransformSync.LocalInstance; + if (QSBCore.IsHost) + { + WriteLine(3, $"Current Owner : {instance.NetIdentity.ClientAuthorityOwner.GetPlayerId()}"); + } + var sector = instance.ReferenceSector; + WriteLine(3, $"Ref. Sector : {(sector != null ? sector.Name : "NULL")}"); + var transform = instance.ReferenceTransform; + WriteLine(3, $"Ref. Transform : {(transform != null ? transform.name : "NULL")}"); + } + else + { + WriteLine(3, $"ShipTransformSync.LocalInstance is null."); + } + + WriteLine(3, $"QSBShipComponent"); + foreach (var component in QSBWorldSync.GetWorldObjects()) + { + WriteLine(3, $"- {component.AttachedObject.name} RepairFraction:{component.AttachedObject._repairFraction}"); + } + + WriteLine(3, $"QSBShipHull"); + foreach (var hull in QSBWorldSync.GetWorldObjects()) + { + WriteLine(3, $"- {hull.AttachedObject.name}, Integrity:{hull.AttachedObject.integrity}"); + } + #endregion + + #region Column4 - Quantum Object Possesion foreach (var player in QSBPlayerManager.PlayerList) { WriteLine(4, $"- {player.PlayerId}.{player.Name}"); @@ -151,6 +178,7 @@ namespace QSB.Utility WriteLine(4, $"{qsbObj.Name} ({qsbObj.ObjectId})"); } } + #endregion } } } \ No newline at end of file diff --git a/QSB/WorldSync/WorldObjectManager.cs b/QSB/WorldSync/WorldObjectManager.cs index 8bb38da7..1c157630 100644 --- a/QSB/WorldSync/WorldObjectManager.cs +++ b/QSB/WorldSync/WorldObjectManager.cs @@ -44,13 +44,13 @@ namespace QSB.WorldSync return; } - if (QSBPlayerManager.LocalPlayer.PlayerStates.IsReady) + if (QSBPlayerManager.LocalPlayer.IsReady) { DoRebuild(scene); return; } - QSBCore.UnityEvents.RunWhen(() => QSBPlayerManager.LocalPlayer.PlayerStates.IsReady, () => DoRebuild(scene)); + QSBCore.UnityEvents.RunWhen(() => QSBPlayerManager.LocalPlayer.IsReady, () => DoRebuild(scene)); } private static void DoRebuild(OWScene scene) From 0c78faff03a097cb67a0a29576c6334a1023169a Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sat, 20 Nov 2021 17:38:00 +0000 Subject: [PATCH 2/8] fix launch code event + add check for duplicate eventtypes --- QSB/Events/EventType.cs | 1 + QSB/Events/IQSBEvent.cs | 2 ++ QSB/Events/QSBEvent.cs | 4 ++-- QSB/Events/QSBEventManager.cs | 23 +++++++++++++++++++++ QSB/Player/Events/PlayerInformationEvent.cs | 2 +- 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/QSB/Events/EventType.cs b/QSB/Events/EventType.cs index 63ee9bf0..b95e63e4 100644 --- a/QSB/Events/EventType.cs +++ b/QSB/Events/EventType.cs @@ -8,6 +8,7 @@ DebugEvent, SatelliteProjector, SatelliteProjectorSnapshot, + LaunchCodes, /* * SERVER EVENTS diff --git a/QSB/Events/IQSBEvent.cs b/QSB/Events/IQSBEvent.cs index 63ad403b..ddac051f 100644 --- a/QSB/Events/IQSBEvent.cs +++ b/QSB/Events/IQSBEvent.cs @@ -2,6 +2,8 @@ { public interface IQSBEvent { + EventType Type { get; } + void SetupListener(); void CloseListener(); } diff --git a/QSB/Events/QSBEvent.cs b/QSB/Events/QSBEvent.cs index 18fe3523..13ef6e46 100644 --- a/QSB/Events/QSBEvent.cs +++ b/QSB/Events/QSBEvent.cs @@ -75,7 +75,7 @@ namespace QSB.Events if (PlayerTransformSync.LocalInstance == null || PlayerTransformSync.LocalInstance.GetComponent() == null) { - DebugLog.ToConsole($"Warning - Tried to handle message of type <{message.GetType().Name}> before localplayer was established.", MessageType.Warning); + DebugLog.ToConsole($"Warning - Tried to handle message of type <{GetType().Name}> before localplayer was established.", MessageType.Warning); return; } @@ -92,7 +92,7 @@ namespace QSB.Events } catch (Exception ex) { - DebugLog.ToConsole($"Error - Exception handling message {message.GetType().Name} : {ex}", MessageType.Error); + DebugLog.ToConsole($"Error - Exception handling message {GetType().Name} : {ex}", MessageType.Error); } } } diff --git a/QSB/Events/QSBEventManager.cs b/QSB/Events/QSBEventManager.cs index 3431e35a..6fb8ac29 100644 --- a/QSB/Events/QSBEventManager.cs +++ b/QSB/Events/QSBEventManager.cs @@ -32,6 +32,9 @@ using QSB.Utility.Events; using System.Collections.Generic; using QSB.MeteorSync.Events; using QSB.RespawnSync.Events; +using System.Linq; +using HarmonyLib; +using System.Text; namespace QSB.Events { @@ -130,6 +133,26 @@ namespace QSB.Events _eventList.ForEach(ev => ev.SetupListener()); + var duplicates = _eventList + .GroupBy(qsbEvent => qsbEvent.Type) + .Where(group => group.Count() > 1); + + if (duplicates.Count() != 0) + { + var totalSb = new StringBuilder(); + foreach (var group in duplicates) + { + totalSb.Append($"{group.Key}\r\n"); + foreach (var qsbEvent in group) + { + totalSb.Append($"- {qsbEvent.GetType().Name}\r\n"); + } + } + + DebugLog.DebugWrite($"Error - These QSBEvents handle the same EventType!\r\n{totalSb}", MessageType.Error); + return; + } + Ready = true; DebugLog.DebugWrite("Event Manager ready.", MessageType.Success); diff --git a/QSB/Player/Events/PlayerInformationEvent.cs b/QSB/Player/Events/PlayerInformationEvent.cs index 03fb8279..b6f33828 100644 --- a/QSB/Player/Events/PlayerInformationEvent.cs +++ b/QSB/Player/Events/PlayerInformationEvent.cs @@ -6,7 +6,7 @@ namespace QSB.Player.Events { public class PlayerInformationEvent : QSBEvent { - public override EventType Type => EventType.PlayerInformation; + public override EventType Type => EventType.LaunchCodes; public override void SetupListener() => GlobalMessenger.AddListener(EventNames.QSBPlayerInformation, Handler); public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.QSBPlayerInformation, Handler); From 13069d608813fab693edbe54077dd50457153f42 Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sat, 20 Nov 2021 22:26:32 +0000 Subject: [PATCH 3/8] Update DebugGUI.cs --- QSB/Utility/DebugGUI.cs | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/QSB/Utility/DebugGUI.cs b/QSB/Utility/DebugGUI.cs index 09636285..b43ec3cc 100644 --- a/QSB/Utility/DebugGUI.cs +++ b/QSB/Utility/DebugGUI.cs @@ -10,6 +10,8 @@ using QSB.Syncs; using QSB.TimeSync; using QSB.WorldSync; using System.Linq; +using System.Runtime.InteropServices; +using System.Runtime.Serialization; using UnityEngine; namespace QSB.Utility @@ -63,6 +65,13 @@ namespace QSB.Utility GUI.Label(new Rect(x, currentOffset, FixedWidth, 20f), text, guiStyle); } + private void WriteLine(int collumnID, string text, Color color) + { + guiStyle.normal.textColor = color; + WriteLine(collumnID, text); + guiStyle.normal.textColor = Color.white; + } + public void OnGUI() { if (!QSBCore.DebugMode) @@ -97,7 +106,7 @@ namespace QSB.Utility } else if (currentState != WakeUpSync.State.Loaded && currentState != WakeUpSync.State.NotLoaded && reason == null) { - WriteLine(1, $"Reason : NULL"); + WriteLine(1, $"Reason : NULL", Color.red); } WriteLine(1, $"Time Difference : {WakeUpSync.LocalInstance.GetTimeDifference()}"); @@ -117,6 +126,7 @@ namespace QSB.Utility WriteLine(2, $"Dead : {player.IsDead}"); WriteLine(2, $"Visible : {player.Visible}"); WriteLine(2, $"Ready : {player.IsReady}"); + WriteLine(2, $"Suited Up : {player.SuitedUp}"); if (player.IsReady && QSBCore.WorldObjectsReady) { @@ -125,9 +135,9 @@ namespace QSB.Utility var referenceTransform = networkTransform.ReferenceTransform; var parent = networkTransform.AttachedObject?.transform.parent; - WriteLine(2, $" - Ref. Sector : {(referenceSector == null ? "NULL" : referenceSector.Name)}"); - WriteLine(2, $" - Ref. Transform : {(referenceTransform == null ? "NULL" : referenceTransform.name)}"); - WriteLine(2, $" - Parent : {(parent == null ? "NULL" : parent.name)}"); + WriteLine(2, $" - Ref. Sector : {(referenceSector == null ? "NULL" : referenceSector.Name)}", referenceSector == null ? Color.red : Color.white); + WriteLine(2, $" - Ref. Transform : {(referenceTransform == null ? "NULL" : referenceTransform.name)}", referenceTransform == null ? Color.red : Color.white); + WriteLine(2, $" - Parent : {(parent == null ? "NULL" : parent.name)}", parent == null ? Color.red : Color.white); } } #endregion @@ -143,13 +153,13 @@ namespace QSB.Utility WriteLine(3, $"Current Owner : {instance.NetIdentity.ClientAuthorityOwner.GetPlayerId()}"); } var sector = instance.ReferenceSector; - WriteLine(3, $"Ref. Sector : {(sector != null ? sector.Name : "NULL")}"); + WriteLine(3, $"Ref. Sector : {(sector != null ? sector.Name : "NULL")}", sector == null ? Color.red : Color.white); var transform = instance.ReferenceTransform; - WriteLine(3, $"Ref. Transform : {(transform != null ? transform.name : "NULL")}"); + WriteLine(3, $"Ref. Transform : {(transform != null ? transform.name : "NULL")}", transform == null ? Color.red : Color.white); } else { - WriteLine(3, $"ShipTransformSync.LocalInstance is null."); + WriteLine(3, $"ShipTransformSync.LocalInstance is null.", Color.red); } WriteLine(3, $"QSBShipComponent"); From 125a0527dc836fc8a5376aca1ab444a314e388e5 Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sat, 20 Nov 2021 22:28:08 +0000 Subject: [PATCH 4/8] add check for not ready player --- QSB/Events/QSBEvent.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/QSB/Events/QSBEvent.cs b/QSB/Events/QSBEvent.cs index 13ef6e46..f3663a30 100644 --- a/QSB/Events/QSBEvent.cs +++ b/QSB/Events/QSBEvent.cs @@ -1,6 +1,8 @@ using OWML.Common; +using QSB.ClientServerStateSync; using QSB.Messaging; using QSB.Player; +using QSB.Player.Events; using QSB.Player.TransformSync; using QSB.Utility; using QuantumUNET.Components; @@ -79,6 +81,20 @@ namespace QSB.Events return; } + if (QSBPlayerManager.PlayerExists(message.FromId)) + { + var player = QSBPlayerManager.GetPlayer(message.FromId); + + if (!player.IsReady + && player.PlayerId != LocalPlayerId + && (player.State is ClientState.AliveInSolarSystem or ClientState.AliveInEye or ClientState.DeadInSolarSystem) + && (message is not PlayerInformationEvent or PlayerReadyEvent)) + { + DebugLog.ToConsole($"Warning - Got message from player {message.FromId}, but they were not ready. Asking for state resync, just in case.", MessageType.Warning); + QSBEventManager.FireEvent(EventNames.QSBRequestStateResync); + } + } + try { if (message.FromId == QSBPlayerManager.LocalPlayerId || From 44ce17fda97db5c96d47092e5107c099e8e2a860 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sat, 20 Nov 2021 17:40:41 -0800 Subject: [PATCH 5/8] swap EventType for PlayerInformationEvent.cs and LaunchCodesEvent.cs lol --- QSB/Player/Events/LaunchCodesEvent.cs | 2 +- QSB/Player/Events/PlayerInformationEvent.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/QSB/Player/Events/LaunchCodesEvent.cs b/QSB/Player/Events/LaunchCodesEvent.cs index d6547bc4..42f75596 100644 --- a/QSB/Player/Events/LaunchCodesEvent.cs +++ b/QSB/Player/Events/LaunchCodesEvent.cs @@ -5,7 +5,7 @@ namespace QSB.Player.Events { internal class LaunchCodesEvent : QSBEvent { - public override EventType Type => EventType.PlayerInformation; + public override EventType Type => EventType.LaunchCodes; public override void SetupListener() => GlobalMessenger.AddListener(EventNames.LaunchCodes, Handler); public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.LaunchCodes, Handler); diff --git a/QSB/Player/Events/PlayerInformationEvent.cs b/QSB/Player/Events/PlayerInformationEvent.cs index 6d1ced19..bd6c0c04 100644 --- a/QSB/Player/Events/PlayerInformationEvent.cs +++ b/QSB/Player/Events/PlayerInformationEvent.cs @@ -6,7 +6,7 @@ namespace QSB.Player.Events { public class PlayerInformationEvent : QSBEvent { - public override EventType Type => EventType.LaunchCodes; + public override EventType Type => EventType.PlayerInformation; public override void SetupListener() => GlobalMessenger.AddListener(EventNames.QSBPlayerInformation, Handler); public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.QSBPlayerInformation, Handler); From 935726c861145df04f19b9bf18491918a8bc0c6e Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sun, 21 Nov 2021 13:52:29 +0000 Subject: [PATCH 6/8] more fixes --- QSB/Events/EventNames.cs | 2 +- QSB/Player/Events/LaunchCodesEvent.cs | 23 +++++++++++---- QSB/Player/Patches/PlayerPatches.cs | 27 +++++++++++++++++ QSB/Player/PlayerInfo.cs | 32 ++++++++++++++++++-- QSB/Player/QSBPlayerManager.cs | 2 +- QSB/RespawnSync/RespawnManager.cs | 1 + QSB/StatueSync/StatueManager.cs | 10 +++++-- QSB/Syncs/IntermediaryTransform.cs | 26 ++++++++++++++--- QSB/Utility/DebugGUI.cs | 42 +++++++++++++++++++++++++-- 9 files changed, 147 insertions(+), 18 deletions(-) diff --git a/QSB/Events/EventNames.cs b/QSB/Events/EventNames.cs index 5eb65a30..c5b946e2 100644 --- a/QSB/Events/EventNames.cs +++ b/QSB/Events/EventNames.cs @@ -24,7 +24,6 @@ public static string ExitFlightConsole = "ExitFlightConsole"; public static string EnterShip = "EnterShip"; public static string ExitShip = "ExitShip"; - public static string LaunchCodes = "LearnLaunchCodes"; // Custom event names -- change if you want! These can be anything, as long as both // sides of the GlobalMessenger (fireevent and addlistener) reference the same thing. @@ -99,5 +98,6 @@ public static string QSBMeteorSpecialImpact = "QSBMeteorSpecialImpact"; public static string QSBFragmentDamage = "QSBFragmentDamage"; public static string QSBFragmentResync = "QSBFragmentResync"; + public static string QSBLearnLaunchCodes = "QSBLearnLaunchCodes"; } } diff --git a/QSB/Player/Events/LaunchCodesEvent.cs b/QSB/Player/Events/LaunchCodesEvent.cs index 42f75596..a97d16b2 100644 --- a/QSB/Player/Events/LaunchCodesEvent.cs +++ b/QSB/Player/Events/LaunchCodesEvent.cs @@ -1,5 +1,6 @@ using QSB.Events; using QSB.Messaging; +using QSB.Utility; namespace QSB.Player.Events { @@ -7,24 +8,33 @@ namespace QSB.Player.Events { public override EventType Type => EventType.LaunchCodes; - public override void SetupListener() => GlobalMessenger.AddListener(EventNames.LaunchCodes, Handler); - public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.LaunchCodes, Handler); + public override void SetupListener() => GlobalMessenger.AddListener(EventNames.QSBLearnLaunchCodes, Handler); + public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.QSBLearnLaunchCodes, Handler); - private void Handler() => SendEvent(CreateMessage()); + private void Handler() + { + DebugLog.DebugWrite($"send event"); + SendEvent(CreateMessage()); + } - private PlayerMessage CreateMessage() => new PlayerMessage + private PlayerMessage CreateMessage() => new() { AboutId = LocalPlayerId }; + public override void OnReceiveLocal(bool isHost, PlayerMessage message) + { + DebugLog.DebugWrite($"receive local!"); + } + public override void OnReceiveRemote(bool isHost, PlayerMessage message) { + DebugLog.DebugWrite($"receive remote!"); var flag = false; if (!PlayerData._currentGameSave.PersistentConditionExists("LAUNCH_CODES_GIVEN")) { flag = true; } - else if (PlayerData._currentGameSave.GetPersistentCondition("LAUNCH_CODES_GIVEN")) { flag = true; @@ -32,7 +42,10 @@ namespace QSB.Player.Events if (flag) { + DebugLog.DebugWrite($"launch codes given!"); + DialogueConditionManager.SharedInstance.SetConditionState("SCIENTIST_3", true); PlayerData._currentGameSave.SetPersistentCondition("LAUNCH_CODES_GIVEN", true); + GlobalMessenger.FireEvent("LearnLaunchCodes"); } } } diff --git a/QSB/Player/Patches/PlayerPatches.cs b/QSB/Player/Patches/PlayerPatches.cs index c4e44fec..895ae5b0 100644 --- a/QSB/Player/Patches/PlayerPatches.cs +++ b/QSB/Player/Patches/PlayerPatches.cs @@ -1,4 +1,5 @@ using HarmonyLib; +using QSB.Events; using QSB.Patches; namespace QSB.Player.Patches @@ -22,5 +23,31 @@ namespace QSB.Player.Patches [HarmonyPatch(typeof(PauseMenuManager), nameof(PauseMenuManager.OnExitToMainMenu))] public static void PauseMenuManager_OnExitToMainMenu() => QSBPlayerManager.LocalPlayer.IsReady = false; + + [HarmonyPrefix] + [HarmonyPatch(typeof(PlayerData), nameof(PlayerData.LearnLaunchCodes))] + public static bool LearnLaunchCodes() + { + var flag = false; + if (!PlayerData._currentGameSave.PersistentConditionExists("LAUNCH_CODES_GIVEN")) + { + flag = true; + } + + else if (PlayerData._currentGameSave.GetPersistentCondition("LAUNCH_CODES_GIVEN")) + { + flag = true; + } + + if (flag) + { + DialogueConditionManager.SharedInstance.SetConditionState("SCIENTIST_3", true); + PlayerData._currentGameSave.SetPersistentCondition("LAUNCH_CODES_GIVEN", true); + GlobalMessenger.FireEvent("LearnLaunchCodes"); + QSBEventManager.FireEvent(EventNames.QSBLearnLaunchCodes); + } + + return false; + } } } diff --git a/QSB/Player/PlayerInfo.cs b/QSB/Player/PlayerInfo.cs index 96a1c982..4aa46991 100644 --- a/QSB/Player/PlayerInfo.cs +++ b/QSB/Player/PlayerInfo.cs @@ -3,6 +3,7 @@ using QSB.Animation.Player; using QSB.Animation.Player.Thrusters; using QSB.CampfireSync.WorldObjects; using QSB.ClientServerStateSync; +using QSB.Events; using QSB.ItemSync.WorldObjects.Items; using QSB.Player.TransformSync; using QSB.QuantumSync; @@ -78,7 +79,18 @@ namespace QSB.Player // Tools public GameObject ProbeBody { get; set; } public QSBProbe Probe { get; set; } - public QSBFlashlight FlashLight => CameraBody?.GetComponentInChildren(); + public QSBFlashlight FlashLight + { + get + { + if (CameraBody == null) + { + return null; + } + + return CameraBody.GetComponentInChildren(); + } + } public QSBTool Signalscope => GetToolByType(ToolType.Signalscope); public QSBTool Translator => GetToolByType(ToolType.Translator); public QSBProbeLauncherTool ProbeLauncher => (QSBProbeLauncherTool)GetToolByType(ToolType.ProbeLauncher); @@ -182,7 +194,7 @@ namespace QSB.Player CurrentCharacterDialogueTreeId = -1; } - public void UpdateStateObjects() + public void UpdateObjectsFromStates() { if (OWInput.GetInputMode() == InputMode.None) { @@ -197,6 +209,22 @@ namespace QSB.Player () => QSBPlayerManager.GetSyncObject(PlayerId).SetSuitState(SuitedUp)); } + public void UpdateStatesFromObjects() + { + if (Locator.GetFlashlight() == null || Locator.GetPlayerBody() == null) + { + FlashlightActive = false; + SuitedUp = false; + } + else + { + FlashlightActive = Locator.GetFlashlight()._flashlightOn; + SuitedUp = Locator.GetPlayerBody().GetComponent().IsWearingSuit(true); + } + + QSBEventManager.FireEvent(EventNames.QSBPlayerInformation); + } + private QSBTool GetToolByType(ToolType type) => CameraBody?.GetComponentsInChildren() .FirstOrDefault(x => x.Type == type); } diff --git a/QSB/Player/QSBPlayerManager.cs b/QSB/Player/QSBPlayerManager.cs index 64ff566e..35fb95fb 100644 --- a/QSB/Player/QSBPlayerManager.cs +++ b/QSB/Player/QSBPlayerManager.cs @@ -91,7 +91,7 @@ namespace QSB.Player player.ProbeActive = message.ProbeActive; if (LocalPlayer.IsReady) { - player.UpdateStateObjects(); + player.UpdateObjectsFromStates(); } player.State = message.ClientState; diff --git a/QSB/RespawnSync/RespawnManager.cs b/QSB/RespawnSync/RespawnManager.cs index d0ec0688..3e72cba2 100644 --- a/QSB/RespawnSync/RespawnManager.cs +++ b/QSB/RespawnSync/RespawnManager.cs @@ -49,6 +49,7 @@ namespace QSB.RespawnSync private void Init(OWScene newScene, bool inUniverse) { QSBPlayerManager.ShowAllPlayers(); + QSBPlayerManager.LocalPlayer.UpdateStatesFromObjects(); QSBPlayerManager.PlayerList.ForEach(x => x.IsDead = false); _playersPendingRespawn.Clear(); diff --git a/QSB/StatueSync/StatueManager.cs b/QSB/StatueSync/StatueManager.cs index 207f68e4..980070e1 100644 --- a/QSB/StatueSync/StatueManager.cs +++ b/QSB/StatueSync/StatueManager.cs @@ -14,11 +14,17 @@ namespace QSB.StatueSync { DebugLog.DebugWrite($"Awake"); Instance = this; - QSBSceneManager.OnUniverseSceneLoaded += (OWScene oldScene, OWScene newScene) => QSBPlayerManager.ShowAllPlayers(); + QSBSceneManager.OnUniverseSceneLoaded += OnUniverseSceneLoaded; } private void OnDestroy() - => QSBSceneManager.OnUniverseSceneLoaded -= (OWScene oldScene, OWScene newScene) => QSBPlayerManager.ShowAllPlayers(); + => QSBSceneManager.OnUniverseSceneLoaded -= OnUniverseSceneLoaded; + + private void OnUniverseSceneLoaded(OWScene oldScene, OWScene newScene) + { + QSBPlayerManager.ShowAllPlayers(); + QSBPlayerManager.LocalPlayer.UpdateStatesFromObjects(); + } public void BeginSequence(Vector3 position, Quaternion rotation, float cameraDegrees) { diff --git a/QSB/Syncs/IntermediaryTransform.cs b/QSB/Syncs/IntermediaryTransform.cs index 48e02708..6da80eeb 100644 --- a/QSB/Syncs/IntermediaryTransform.cs +++ b/QSB/Syncs/IntermediaryTransform.cs @@ -1,4 +1,6 @@ using OWML.Common; +using QSB.ClientServerStateSync; +using QSB.Player; using QSB.Utility; using UnityEngine; @@ -57,7 +59,11 @@ namespace QSB.Syncs { if (_referenceTransform == null) { - DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + if (QSBPlayerManager.LocalPlayer.State is ClientState.AliveInEye or ClientState.AliveInSolarSystem or ClientState.DeadInSolarSystem) + { + DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + } + return; } @@ -72,7 +78,11 @@ namespace QSB.Syncs { if (_referenceTransform == null) { - DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + if (QSBPlayerManager.LocalPlayer.State is ClientState.AliveInEye or ClientState.AliveInSolarSystem or ClientState.DeadInSolarSystem) + { + DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + } + return; } @@ -98,7 +108,11 @@ namespace QSB.Syncs { if (_referenceTransform == null) { - DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + if (QSBPlayerManager.LocalPlayer.State is ClientState.AliveInEye or ClientState.AliveInSolarSystem or ClientState.DeadInSolarSystem) + { + DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + } + return Vector3.zero; } @@ -112,7 +126,11 @@ namespace QSB.Syncs { if (_referenceTransform == null) { - DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + if (QSBPlayerManager.LocalPlayer.State is ClientState.AliveInEye or ClientState.AliveInSolarSystem or ClientState.DeadInSolarSystem) + { + DebugLog.ToConsole($"Error - _referenceTransform has not been set for {_attachedTransform.name}", MessageType.Error); + } + return Quaternion.identity; } diff --git a/QSB/Utility/DebugGUI.cs b/QSB/Utility/DebugGUI.cs index b43ec3cc..5033b9ce 100644 --- a/QSB/Utility/DebugGUI.cs +++ b/QSB/Utility/DebugGUI.cs @@ -9,6 +9,7 @@ using QSB.ShipSync.WorldObjects; using QSB.Syncs; using QSB.TimeSync; using QSB.WorldSync; +using System.ComponentModel; using System.Linq; using System.Runtime.InteropServices; using System.Runtime.Serialization; @@ -121,6 +122,12 @@ namespace QSB.Utility WriteLine(2, $"Player data :"); foreach (var player in QSBPlayerManager.PlayerList) { + if (player == null) + { + WriteLine(2, $"NULL PLAYER", Color.red); + continue; + } + WriteLine(2, $"{player.PlayerId}.{player.Name}"); WriteLine(2, $"State : {player.State}"); WriteLine(2, $"Dead : {player.IsDead}"); @@ -165,19 +172,41 @@ namespace QSB.Utility WriteLine(3, $"QSBShipComponent"); foreach (var component in QSBWorldSync.GetWorldObjects()) { - WriteLine(3, $"- {component.AttachedObject.name} RepairFraction:{component.AttachedObject._repairFraction}"); + var attachedObject = component.AttachedObject; + if (attachedObject == null) + { + WriteLine(3, $"- {component.ObjectId} NULL ATTACHEDOBJECT", Color.red); + } + else + { + WriteLine(3, $"- {component.AttachedObject.name} RepairFraction:{component.AttachedObject._repairFraction}"); + } } WriteLine(3, $"QSBShipHull"); foreach (var hull in QSBWorldSync.GetWorldObjects()) { - WriteLine(3, $"- {hull.AttachedObject.name}, Integrity:{hull.AttachedObject.integrity}"); + var attachedObject = hull.AttachedObject; + if (attachedObject == null) +{ + WriteLine(3, $"- {hull.ObjectId} NULL ATTACHEDOBJECT", Color.red); + } + else + { + WriteLine(3, $"- {hull.AttachedObject.name}, Integrity:{hull.AttachedObject.integrity}"); + } } #endregion #region Column4 - Quantum Object Possesion foreach (var player in QSBPlayerManager.PlayerList) { + if (player == null) + { + WriteLine(4, $"- NULL PLAYER", Color.red); + continue; + } + WriteLine(4, $"- {player.PlayerId}.{player.Name}"); var allQuantumObjects = QSBWorldSync.GetWorldObjects(); var ownedQuantumObjects = allQuantumObjects.Where(x => x.ControllingPlayer == player.PlayerId); @@ -185,7 +214,14 @@ namespace QSB.Utility foreach (var quantumObject in ownedQuantumObjects) { var qsbObj = quantumObject as IWorldObject; - WriteLine(4, $"{qsbObj.Name} ({qsbObj.ObjectId})"); + if (qsbObj == null) + { + WriteLine(4, $"NULL QSBOBJ", Color.red); + } + else + { + WriteLine(4, $"{qsbObj.Name} ({qsbObj.ObjectId})"); + } } } #endregion From 894e7d462c33c86da32054734f4164c21753879f Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sun, 21 Nov 2021 15:38:11 +0000 Subject: [PATCH 7/8] remove lots of debug logs --- QSB/Animation/NPC/Patches/SolanumPatches.cs | 11 ----- .../ClientStateManager.cs | 43 ++++--------------- .../ServerStateManager.cs | 10 ----- QSB/Player/Events/LaunchCodesEvent.cs | 13 +----- QSB/RespawnSync/RespawnManager.cs | 1 - QSB/StatueSync/StatueManager.cs | 3 -- QSB/Utility/Popcron.Gizmos/GizmosInstance.cs | 1 - 7 files changed, 9 insertions(+), 73 deletions(-) diff --git a/QSB/Animation/NPC/Patches/SolanumPatches.cs b/QSB/Animation/NPC/Patches/SolanumPatches.cs index 4f243906..068097ae 100644 --- a/QSB/Animation/NPC/Patches/SolanumPatches.cs +++ b/QSB/Animation/NPC/Patches/SolanumPatches.cs @@ -80,7 +80,6 @@ namespace QSB.Animation.NPC.Patches case NomaiConversationManager.State.WatchingSky: if (__instance._playerInWatchVolume) { - DebugLog.DebugWrite($"{__instance._state} => WACHING PLAYER"); __instance._state = NomaiConversationManager.State.WatchingPlayer; __instance._solanumAnimController.StartWatchingPlayer(); } @@ -92,7 +91,6 @@ namespace QSB.Animation.NPC.Patches // player left watch zone if (!__instance._playerInWatchVolume) { - DebugLog.DebugWrite($"{__instance._state} => WATCHING SKY"); __instance._state = NomaiConversationManager.State.WatchingSky; __instance._solanumAnimController.StopWatchingPlayer(); } @@ -104,7 +102,6 @@ namespace QSB.Animation.NPC.Patches __instance._stoneCreationTimer -= Time.deltaTime; if (__instance._stoneCreationTimer <= 0f) { - DebugLog.DebugWrite($"{__instance._state} => CREATING STONES"); __instance._state = NomaiConversationManager.State.CreatingStones; __instance._solanumAnimController.PlayCreateWordStones(); } @@ -123,7 +120,6 @@ namespace QSB.Animation.NPC.Patches // raise cairns else if (__instance._solanumAnimController.IsPlayerLooking()) { - DebugLog.DebugWrite($"{__instance._state} => RAISING CAIRNS"); __instance._state = NomaiConversationManager.State.RaisingCairns; __instance._solanumAnimController.PlayRaiseCairns(); __instance._cairnAnimator.SetTrigger("Raise"); @@ -132,7 +128,6 @@ namespace QSB.Animation.NPC.Patches } else if (__instance._activeResponseText == null && __instance._hasValidSocketedStonePair) { - DebugLog.DebugWrite($"{__instance._state} => WRITING RESPONSE"); __instance._activeResponseText = __instance._pendingResponseText; __instance._pendingResponseText = null; __instance._state = NomaiConversationManager.State.WritingResponse; @@ -140,7 +135,6 @@ namespace QSB.Animation.NPC.Patches } else if (__instance._activeResponseText != null && (!__instance._hasValidSocketedStonePair || __instance._pendingResponseText != null)) { - DebugLog.DebugWrite($"{__instance._state} => ERASING RESPONSE"); __instance._state = NomaiConversationManager.State.ErasingResponse; __instance._solanumAnimController.StartWritingMessage(); } @@ -177,7 +171,6 @@ namespace QSB.Animation.NPC.Patches case NomaiConversationManager.State.CreatingStones: if (!__instance._solanumAnimController.isPerformingAction) { - DebugLog.DebugWrite($"{__instance._state} => WATCHING PLAYER"); __instance._state = NomaiConversationManager.State.WatchingPlayer; __instance._conversationStonesCreated = true; } @@ -186,7 +179,6 @@ namespace QSB.Animation.NPC.Patches case NomaiConversationManager.State.RaisingCairns: if (!__instance._solanumAnimController.isPerformingAction) { - DebugLog.DebugWrite($"{__instance._state} => WATCHING PLAYER"); __instance._state = NomaiConversationManager.State.WatchingPlayer; __instance._cairnRaised = true; __instance._stoneSocketATrigger.SetActivation(true); @@ -200,13 +192,11 @@ namespace QSB.Animation.NPC.Patches __instance._activeResponseText = null; if (__instance._pendingResponseText == null) { - DebugLog.DebugWrite($"{__instance._state} => WATCHING PLAYER"); __instance._state = NomaiConversationManager.State.WatchingPlayer; __instance._solanumAnimController.StopWritingMessage(false); } else { - DebugLog.DebugWrite($"{__instance._state} => WATCHING WRITING RESPONSE"); __instance._activeResponseText = __instance._pendingResponseText; __instance._pendingResponseText = null; __instance._state = NomaiConversationManager.State.WritingResponse; @@ -218,7 +208,6 @@ namespace QSB.Animation.NPC.Patches case NomaiConversationManager.State.WritingResponse: if (!__instance._solanumAnimController.isStartingWrite && !__instance._activeResponseText.IsAnimationPlaying()) { - DebugLog.DebugWrite($"{__instance._state} => WATCHING PLAYER"); __instance._state = NomaiConversationManager.State.WatchingPlayer; __instance._solanumAnimController.StopWritingMessage(true); } diff --git a/QSB/ClientServerStateSync/ClientStateManager.cs b/QSB/ClientServerStateSync/ClientStateManager.cs index 9dd487fd..a7e8fa08 100644 --- a/QSB/ClientServerStateSync/ClientStateManager.cs +++ b/QSB/ClientServerStateSync/ClientStateManager.cs @@ -29,7 +29,6 @@ namespace QSB.ClientServerStateSync return; } - DebugLog.DebugWrite($"CHANGE CLIENT STATE FROM {QSBPlayerManager.LocalPlayer.State} to {newState}"); QSBPlayerManager.LocalPlayer.State = newState; OnChangeState?.Invoke(newState); } @@ -46,29 +45,24 @@ namespace QSB.ClientServerStateSync switch (newScene) { case OWScene.TitleScreen: - DebugLog.DebugWrite($"SERVER LOAD TITLESCREEN"); newState = ClientState.InTitleScreen; break; case OWScene.Credits_Fast: - DebugLog.DebugWrite($"SERVER LOAD SHORT CREDITS"); newState = ClientState.WatchingShortCredits; break; case OWScene.Credits_Final: case OWScene.PostCreditsScene: - DebugLog.DebugWrite($"SERVER LOAD LONG CREDITS"); newState = ClientState.WatchingLongCredits; break; case OWScene.SolarSystem: if (oldScene == OWScene.SolarSystem) { // reloading scene - DebugLog.DebugWrite($"SERVER RELOAD SOLARSYSTEM"); newState = ClientState.WaitingForOthersToReadyInSolarSystem; } else { // loading in from title screen - DebugLog.DebugWrite($"SERVER LOAD SOLARSYSTEM"); newState = ClientState.AliveInSolarSystem; } break; @@ -85,22 +79,18 @@ namespace QSB.ClientServerStateSync switch (newScene) { case OWScene.TitleScreen: - DebugLog.DebugWrite($"CLIENT LOAD TITLESCREEN"); newState = ClientState.InTitleScreen; break; case OWScene.Credits_Fast: - DebugLog.DebugWrite($"CLIENT LOAD SHORT CREDITS"); newState = ClientState.WatchingShortCredits; break; case OWScene.Credits_Final: case OWScene.PostCreditsScene: - DebugLog.DebugWrite($"CLIENT LOAD LONG CREDITS"); newState = ClientState.WatchingLongCredits; break; case OWScene.SolarSystem: if (serverState == ServerState.WaitingForAllPlayersToDie) { - DebugLog.DebugWrite($"SEVER IN DEATH PHASE - WAIT"); newState = ClientState.WaitingForOthersToReadyInSolarSystem; break; } @@ -108,13 +98,11 @@ namespace QSB.ClientServerStateSync if (oldScene == OWScene.SolarSystem) { // reloading scene - DebugLog.DebugWrite($"CLIENT RELOAD SOLARSYSTEM"); newState = ClientState.WaitingForOthersToReadyInSolarSystem; } else { // loading in from title screen - DebugLog.DebugWrite($"CLIENT LOAD SOLARSYSTEM"); if (serverState == ServerState.WaitingForAllPlayersToReady) { newState = ClientState.WaitingForOthersToReadyInSolarSystem; @@ -171,32 +159,17 @@ namespace QSB.ClientServerStateSync private ClientState ForceGetCurrentState() { - DebugLog.DebugWrite($"ForceGetCurrentState"); var currentScene = LoadManager.GetCurrentScene(); - var lastScene = LoadManager.GetPreviousScene(); - switch (currentScene) + return currentScene switch { - case OWScene.TitleScreen: - DebugLog.DebugWrite($"- TitleScreen"); - return ClientState.InTitleScreen; - case OWScene.Credits_Fast: - DebugLog.DebugWrite($"- Short Credits"); - return ClientState.WatchingShortCredits; - case OWScene.Credits_Final: - case OWScene.PostCreditsScene: - DebugLog.DebugWrite($"- Long Credits"); - return ClientState.WatchingLongCredits; - case OWScene.SolarSystem: - DebugLog.DebugWrite($"- SolarSystem"); - return ClientState.AliveInSolarSystem; - case OWScene.EyeOfTheUniverse: - DebugLog.DebugWrite($"- Eye"); - return ClientState.AliveInEye; - default: - DebugLog.DebugWrite($"- Not Loaded"); - return ClientState.NotLoaded; - } + OWScene.TitleScreen => ClientState.InTitleScreen, + OWScene.Credits_Fast => ClientState.WatchingShortCredits, + OWScene.Credits_Final or OWScene.PostCreditsScene => ClientState.WatchingLongCredits, + OWScene.SolarSystem => ClientState.AliveInSolarSystem, + OWScene.EyeOfTheUniverse => ClientState.AliveInEye, + _ => ClientState.NotLoaded, + }; } } } diff --git a/QSB/ClientServerStateSync/ServerStateManager.cs b/QSB/ClientServerStateSync/ServerStateManager.cs index 85f323c7..f10594f2 100644 --- a/QSB/ClientServerStateSync/ServerStateManager.cs +++ b/QSB/ClientServerStateSync/ServerStateManager.cs @@ -54,17 +54,14 @@ namespace QSB.ClientServerStateSync case OWScene.Credits_Fast: case OWScene.Credits_Final: case OWScene.PostCreditsScene: - DebugLog.DebugWrite($"SERVER LOAD CREDITS"); QSBEventManager.FireEvent(EventNames.QSBServerState, ServerState.Credits); break; case OWScene.TitleScreen: - DebugLog.DebugWrite($"SERVER LOAD TITLE SCREEN"); QSBEventManager.FireEvent(EventNames.QSBServerState, ServerState.NotLoaded); break; case OWScene.SolarSystem: - DebugLog.DebugWrite($"SERVER LOAD SOLARSYSTEM"); if (oldScene == OWScene.SolarSystem) { QSBEventManager.FireEvent(EventNames.QSBServerState, ServerState.WaitingForAllPlayersToReady); @@ -77,7 +74,6 @@ namespace QSB.ClientServerStateSync break; case OWScene.EyeOfTheUniverse: - DebugLog.DebugWrite($"EYE"); QSBEventManager.FireEvent(EventNames.QSBServerState, ServerState.WaitingForAllPlayersToReady); break; @@ -98,21 +94,15 @@ namespace QSB.ClientServerStateSync private ServerState ForceGetCurrentState() { - DebugLog.DebugWrite($"ForceGetCurrentState"); - var currentScene = LoadManager.GetCurrentScene(); - var lastScene = LoadManager.GetPreviousScene(); switch (currentScene) { case OWScene.SolarSystem: - DebugLog.DebugWrite($"- SolarSystem"); return ServerState.InSolarSystem; case OWScene.EyeOfTheUniverse: - DebugLog.DebugWrite($"- Eye"); return ServerState.InEye; default: - DebugLog.DebugWrite($"- Not Loaded"); return ServerState.NotLoaded; } } diff --git a/QSB/Player/Events/LaunchCodesEvent.cs b/QSB/Player/Events/LaunchCodesEvent.cs index a97d16b2..50399fbe 100644 --- a/QSB/Player/Events/LaunchCodesEvent.cs +++ b/QSB/Player/Events/LaunchCodesEvent.cs @@ -11,25 +11,15 @@ namespace QSB.Player.Events public override void SetupListener() => GlobalMessenger.AddListener(EventNames.QSBLearnLaunchCodes, Handler); public override void CloseListener() => GlobalMessenger.RemoveListener(EventNames.QSBLearnLaunchCodes, Handler); - private void Handler() - { - DebugLog.DebugWrite($"send event"); - SendEvent(CreateMessage()); - } + private void Handler() => SendEvent(CreateMessage()); private PlayerMessage CreateMessage() => new() { AboutId = LocalPlayerId }; - public override void OnReceiveLocal(bool isHost, PlayerMessage message) - { - DebugLog.DebugWrite($"receive local!"); - } - public override void OnReceiveRemote(bool isHost, PlayerMessage message) { - DebugLog.DebugWrite($"receive remote!"); var flag = false; if (!PlayerData._currentGameSave.PersistentConditionExists("LAUNCH_CODES_GIVEN")) { @@ -42,7 +32,6 @@ namespace QSB.Player.Events if (flag) { - DebugLog.DebugWrite($"launch codes given!"); DialogueConditionManager.SharedInstance.SetConditionState("SCIENTIST_3", true); PlayerData._currentGameSave.SetPersistentCondition("LAUNCH_CODES_GIVEN", true); GlobalMessenger.FireEvent("LearnLaunchCodes"); diff --git a/QSB/RespawnSync/RespawnManager.cs b/QSB/RespawnSync/RespawnManager.cs index 3e72cba2..3c4411fa 100644 --- a/QSB/RespawnSync/RespawnManager.cs +++ b/QSB/RespawnSync/RespawnManager.cs @@ -100,7 +100,6 @@ namespace QSB.RespawnSync public void TriggerRespawnMap() { - DebugLog.DebugWrite($"TRIGGER RESPAWN MAP"); QSBPatchManager.DoPatchType(QSBPatchTypes.RespawnTime); QSBCore.UnityEvents.FireOnNextUpdate(() => GlobalMessenger.FireEvent("TriggerObservatoryMap")); } diff --git a/QSB/StatueSync/StatueManager.cs b/QSB/StatueSync/StatueManager.cs index 980070e1..966d79df 100644 --- a/QSB/StatueSync/StatueManager.cs +++ b/QSB/StatueSync/StatueManager.cs @@ -12,7 +12,6 @@ namespace QSB.StatueSync private void Awake() { - DebugLog.DebugWrite($"Awake"); Instance = this; QSBSceneManager.OnUniverseSceneLoaded += OnUniverseSceneLoaded; } @@ -28,13 +27,11 @@ namespace QSB.StatueSync public void BeginSequence(Vector3 position, Quaternion rotation, float cameraDegrees) { - DebugLog.DebugWrite($"Begin Sequence"); StartCoroutine(BeginRemoteUplinkSequence(position, rotation, cameraDegrees)); } private IEnumerator BeginRemoteUplinkSequence(Vector3 position, Quaternion rotation, float cameraDegrees) { - DebugLog.DebugWrite($"Begin Remote Uplink Sequence"); HasStartedStatueLocally = true; var cameraEffectController = Locator.GetPlayerCamera().GetComponent(); cameraEffectController.CloseEyes(0.5f); diff --git a/QSB/Utility/Popcron.Gizmos/GizmosInstance.cs b/QSB/Utility/Popcron.Gizmos/GizmosInstance.cs index 46a94d19..399aa204 100644 --- a/QSB/Utility/Popcron.Gizmos/GizmosInstance.cs +++ b/QSB/Utility/Popcron.Gizmos/GizmosInstance.cs @@ -87,7 +87,6 @@ namespace Popcron //instance = new GameObject(typeof(GizmosInstance).FullName).AddComponent(); //instance.gameObject.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector; instance = Locator.GetPlayerCamera().gameObject.AddComponent(); - DebugLog.DebugWrite("CREATE GIZMOS INSTANCE!"); } } From f59664fc0fb1acfa86c9e628f8dcff9cab1a7056 Mon Sep 17 00:00:00 2001 From: Mister_Nebula <41904486+misternebula@users.noreply.github.com> Date: Sun, 21 Nov 2021 15:46:10 +0000 Subject: [PATCH 8/8] change a DebugWrite to ToConsole --- QSB/Events/QSBEventManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QSB/Events/QSBEventManager.cs b/QSB/Events/QSBEventManager.cs index 59a5a4b0..26757f2c 100644 --- a/QSB/Events/QSBEventManager.cs +++ b/QSB/Events/QSBEventManager.cs @@ -149,7 +149,7 @@ namespace QSB.Events } } - DebugLog.DebugWrite($"Error - These QSBEvents handle the same EventType!\r\n{totalSb}", MessageType.Error); + DebugLog.ToConsole($"Error - These QSBEvents handle the same EventType!\r\n{totalSb}", MessageType.Error); return; }