From 0e5e75a83a06155306e9f8c4b35bc1fad5495571 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Wed, 22 Dec 2021 18:31:58 -0800 Subject: [PATCH] oops forgot to convert this to constructor --- QSB/Player/Events/PlayerJoinMessage.cs | 1 - QSB/Player/Events/RequestStateResyncMessage.cs | 5 +---- .../Events/QuantumAuthorityMessage.cs | 16 ++++++++++------ QSB/QuantumSync/QuantumManager.cs | 18 ++++++++---------- .../WorldObjects/QSBQuantumObject.cs | 10 ++-------- 5 files changed, 21 insertions(+), 29 deletions(-) diff --git a/QSB/Player/Events/PlayerJoinMessage.cs b/QSB/Player/Events/PlayerJoinMessage.cs index 89b8f564..916d5833 100644 --- a/QSB/Player/Events/PlayerJoinMessage.cs +++ b/QSB/Player/Events/PlayerJoinMessage.cs @@ -1,5 +1,4 @@ using OWML.Common; -using QSB.Events; using QSB.Messaging; using QSB.Utility; using QuantumUNET.Transport; diff --git a/QSB/Player/Events/RequestStateResyncMessage.cs b/QSB/Player/Events/RequestStateResyncMessage.cs index 77580e3e..5e8fcf90 100644 --- a/QSB/Player/Events/RequestStateResyncMessage.cs +++ b/QSB/Player/Events/RequestStateResyncMessage.cs @@ -111,10 +111,7 @@ namespace QSB.Player.Events QSBWorldSync.GetWorldObjects().ForEach(x => { - x.SendMessage(new QuantumAuthorityMessage - { - AuthorityOwner = x.ControllingPlayer - }); + x.SendMessage(new QuantumAuthorityMessage(x.ControllingPlayer)); if (x is QSBQuantumMoon qsbQuantumMoon) { diff --git a/QSB/QuantumSync/Events/QuantumAuthorityMessage.cs b/QSB/QuantumSync/Events/QuantumAuthorityMessage.cs index d6e8863a..cf0af745 100644 --- a/QSB/QuantumSync/Events/QuantumAuthorityMessage.cs +++ b/QSB/QuantumSync/Events/QuantumAuthorityMessage.cs @@ -7,13 +7,11 @@ namespace QSB.QuantumSync.Events { public class QuantumAuthorityMessage : QSBWorldObjectMessage { - public uint AuthorityOwner; + private uint AuthorityOwner; - public override void Deserialize(QNetworkReader reader) - { - base.Deserialize(reader); - AuthorityOwner = reader.ReadUInt32(); - } + public QuantumAuthorityMessage(uint authorityOwner) => AuthorityOwner = authorityOwner; + + public QuantumAuthorityMessage() {} public override void Serialize(QNetworkWriter writer) { @@ -21,6 +19,12 @@ namespace QSB.QuantumSync.Events writer.Write(AuthorityOwner); } + public override void Deserialize(QNetworkReader reader) + { + base.Deserialize(reader); + AuthorityOwner = reader.ReadUInt32(); + } + public override bool ShouldReceive { get diff --git a/QSB/QuantumSync/QuantumManager.cs b/QSB/QuantumSync/QuantumManager.cs index 43a0aa69..f4469ff3 100644 --- a/QSB/QuantumSync/QuantumManager.cs +++ b/QSB/QuantumSync/QuantumManager.cs @@ -18,12 +18,10 @@ namespace QSB.QuantumSync public override WorldObjectType WorldObjectType => WorldObjectType.Both; public static QuantumShrine Shrine { get; private set; } - public static QuantumManager Instance { get; private set; } public override void Awake() { base.Awake(); - Instance = this; QSBPlayerManager.OnRemovePlayer += PlayerLeave; } @@ -60,10 +58,7 @@ namespace QSB.QuantumSync { if (obj.ControllingPlayer == playerId) { - obj.SendMessage(new QuantumAuthorityMessage - { - AuthorityOwner = obj.IsEnabled ? QSBPlayerManager.LocalPlayerId : 0u - }); + obj.SendMessage(new QuantumAuthorityMessage(obj.IsEnabled ? QSBPlayerManager.LocalPlayerId : 0u)); } } } @@ -131,7 +126,10 @@ namespace QSB.QuantumSync continue; } - var isInFrustum = (bool)frustumMethod.Invoke(tracker, new object[] { player.Camera.GetFrustumPlanes() }); + var isInFrustum = (bool)frustumMethod.Invoke(tracker, new object[] + { + player.Camera.GetFrustumPlanes() + }); if (isInFrustum) { playersWhoCanSee.Add(player); @@ -143,9 +141,9 @@ namespace QSB.QuantumSync } public static bool IsVisible(ShapeVisibilityTracker tracker, bool ignoreLocalCamera) => tracker.gameObject.activeInHierarchy - && IsVisibleUsingCameraFrustum(tracker, ignoreLocalCamera).Item1 - && QSBPlayerManager.GetPlayersWithCameras(!ignoreLocalCamera) - .Any(x => VisibilityOccluder.CanYouSee(tracker, x.Camera.mainCamera.transform.position)); + && IsVisibleUsingCameraFrustum(tracker, ignoreLocalCamera).Item1 + && QSBPlayerManager.GetPlayersWithCameras(!ignoreLocalCamera) + .Any(x => VisibilityOccluder.CanYouSee(tracker, x.Camera.mainCamera.transform.position)); public static IEnumerable GetEntangledPlayers(QuantumObject obj) { diff --git a/QSB/QuantumSync/WorldObjects/QSBQuantumObject.cs b/QSB/QuantumSync/WorldObjects/QSBQuantumObject.cs index 6c1c5e68..67cf5325 100644 --- a/QSB/QuantumSync/WorldObjects/QSBQuantumObject.cs +++ b/QSB/QuantumSync/WorldObjects/QSBQuantumObject.cs @@ -176,10 +176,7 @@ namespace QSB.QuantumSync.WorldObjects } // no one is controlling this object right now, request authority - ((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage - { - AuthorityOwner = QSBPlayerManager.LocalPlayerId - }); + ((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage(QSBPlayerManager.LocalPlayerId)); } private void OnDisable(Shape s) @@ -208,10 +205,7 @@ namespace QSB.QuantumSync.WorldObjects var id = ObjectId; // send event to other players that we're releasing authority - ((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage - { - AuthorityOwner = 0u - }); + ((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage(0u)); } } }