oops forgot to convert this to constructor

This commit is contained in:
JohnCorby 2021-12-22 18:31:58 -08:00
parent da1819c51d
commit 0e5e75a83a
5 changed files with 21 additions and 29 deletions

View File

@ -1,5 +1,4 @@
using OWML.Common;
using QSB.Events;
using QSB.Messaging;
using QSB.Utility;
using QuantumUNET.Transport;

View File

@ -111,10 +111,7 @@ namespace QSB.Player.Events
QSBWorldSync.GetWorldObjects<IQSBQuantumObject>().ForEach(x =>
{
x.SendMessage(new QuantumAuthorityMessage
{
AuthorityOwner = x.ControllingPlayer
});
x.SendMessage(new QuantumAuthorityMessage(x.ControllingPlayer));
if (x is QSBQuantumMoon qsbQuantumMoon)
{

View File

@ -7,13 +7,11 @@ namespace QSB.QuantumSync.Events
{
public class QuantumAuthorityMessage : QSBWorldObjectMessage<IQSBQuantumObject>
{
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

View File

@ -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<PlayerInfo> GetEntangledPlayers(QuantumObject obj)
{

View File

@ -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));
}
}
}