mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-21 00:39:53 +00:00
oops forgot to convert this to constructor
This commit is contained in:
parent
da1819c51d
commit
0e5e75a83a
@ -1,5 +1,4 @@
|
||||
using OWML.Common;
|
||||
using QSB.Events;
|
||||
using QSB.Messaging;
|
||||
using QSB.Utility;
|
||||
using QuantumUNET.Transport;
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user