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 OWML.Common;
using QSB.Events;
using QSB.Messaging; using QSB.Messaging;
using QSB.Utility; using QSB.Utility;
using QuantumUNET.Transport; using QuantumUNET.Transport;

View File

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

View File

@ -7,13 +7,11 @@ namespace QSB.QuantumSync.Events
{ {
public class QuantumAuthorityMessage : QSBWorldObjectMessage<IQSBQuantumObject> public class QuantumAuthorityMessage : QSBWorldObjectMessage<IQSBQuantumObject>
{ {
public uint AuthorityOwner; private uint AuthorityOwner;
public override void Deserialize(QNetworkReader reader) public QuantumAuthorityMessage(uint authorityOwner) => AuthorityOwner = authorityOwner;
{
base.Deserialize(reader); public QuantumAuthorityMessage() {}
AuthorityOwner = reader.ReadUInt32();
}
public override void Serialize(QNetworkWriter writer) public override void Serialize(QNetworkWriter writer)
{ {
@ -21,6 +19,12 @@ namespace QSB.QuantumSync.Events
writer.Write(AuthorityOwner); writer.Write(AuthorityOwner);
} }
public override void Deserialize(QNetworkReader reader)
{
base.Deserialize(reader);
AuthorityOwner = reader.ReadUInt32();
}
public override bool ShouldReceive public override bool ShouldReceive
{ {
get get

View File

@ -18,12 +18,10 @@ namespace QSB.QuantumSync
public override WorldObjectType WorldObjectType => WorldObjectType.Both; public override WorldObjectType WorldObjectType => WorldObjectType.Both;
public static QuantumShrine Shrine { get; private set; } public static QuantumShrine Shrine { get; private set; }
public static QuantumManager Instance { get; private set; }
public override void Awake() public override void Awake()
{ {
base.Awake(); base.Awake();
Instance = this;
QSBPlayerManager.OnRemovePlayer += PlayerLeave; QSBPlayerManager.OnRemovePlayer += PlayerLeave;
} }
@ -60,10 +58,7 @@ namespace QSB.QuantumSync
{ {
if (obj.ControllingPlayer == playerId) if (obj.ControllingPlayer == playerId)
{ {
obj.SendMessage(new QuantumAuthorityMessage obj.SendMessage(new QuantumAuthorityMessage(obj.IsEnabled ? QSBPlayerManager.LocalPlayerId : 0u));
{
AuthorityOwner = obj.IsEnabled ? QSBPlayerManager.LocalPlayerId : 0u
});
} }
} }
} }
@ -131,7 +126,10 @@ namespace QSB.QuantumSync
continue; 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) if (isInFrustum)
{ {
playersWhoCanSee.Add(player); playersWhoCanSee.Add(player);

View File

@ -176,10 +176,7 @@ namespace QSB.QuantumSync.WorldObjects
} }
// no one is controlling this object right now, request authority // no one is controlling this object right now, request authority
((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage ((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage(QSBPlayerManager.LocalPlayerId));
{
AuthorityOwner = QSBPlayerManager.LocalPlayerId
});
} }
private void OnDisable(Shape s) private void OnDisable(Shape s)
@ -208,10 +205,7 @@ namespace QSB.QuantumSync.WorldObjects
var id = ObjectId; var id = ObjectId;
// send event to other players that we're releasing authority // send event to other players that we're releasing authority
((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage ((IQSBQuantumObject)this).SendMessage(new QuantumAuthorityMessage(0u));
{
AuthorityOwner = 0u
});
} }
} }
} }