mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-21 18:40:03 +00:00
fixes
This commit is contained in:
parent
e7e481840d
commit
8b1ce3b32c
@ -22,7 +22,6 @@ namespace QSB
|
|||||||
{
|
{
|
||||||
if (id == uint.MaxValue || id == 0U)
|
if (id == uint.MaxValue || id == 0U)
|
||||||
{
|
{
|
||||||
DebugLog.ToConsole("Warning - tried to create player with id 0", MessageType.Warning);
|
|
||||||
return default;
|
return default;
|
||||||
}
|
}
|
||||||
var player = PlayerList.FirstOrDefault(x => x.PlayerId == id);
|
var player = PlayerList.FirstOrDefault(x => x.PlayerId == id);
|
||||||
@ -72,13 +71,13 @@ namespace QSB
|
|||||||
|
|
||||||
public static T GetSyncObject<T>(uint id) where T : PlayerSyncObject
|
public static T GetSyncObject<T>(uint id) where T : PlayerSyncObject
|
||||||
{
|
{
|
||||||
return GetSyncObjects<T>().FirstOrDefault(x => x != null && x.NetId == id);
|
return GetSyncObjects<T>().FirstOrDefault(x => x != null && x.AttachedNetId == id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsBelongingToLocalPlayer(uint id)
|
public static bool IsBelongingToLocalPlayer(uint id)
|
||||||
{
|
{
|
||||||
var behaviours = Resources.FindObjectsOfTypeAll<NetworkBehaviour>();
|
return id == LocalPlayerId ||
|
||||||
return behaviours.Where(x => x.netId.Value == id).First().isLocalPlayer;
|
PlayerSyncObjects.Any(x => x != null && x.AttachedNetId == id && x.isLocalPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static uint GetPlayerOfObject(this PlayerSyncObject syncObject)
|
public static uint GetPlayerOfObject(this PlayerSyncObject syncObject)
|
||||||
@ -106,7 +105,7 @@ namespace QSB
|
|||||||
|
|
||||||
public static List<uint> GetPlayerNetIds(PlayerInfo player)
|
public static List<uint> GetPlayerNetIds(PlayerInfo player)
|
||||||
{
|
{
|
||||||
var ints = Enumerable.Range((int)player.PlayerId, PlayerSyncObjects.DistinctBy(x => x.NetId).Count(x => x.Player.PlayerId == player.PlayerId)).Select(x => (uint)x).ToList();
|
var ints = Enumerable.Range((int)player.PlayerId, PlayerSyncObjects.DistinctBy(x => x.AttachedNetId).Count(x => x.Player.PlayerId == player.PlayerId)).Select(x => (uint)x).ToList();
|
||||||
return ints;
|
return ints;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ namespace QSB
|
|||||||
{
|
{
|
||||||
public abstract class PlayerSyncObject : NetworkBehaviour
|
public abstract class PlayerSyncObject : NetworkBehaviour
|
||||||
{
|
{
|
||||||
public uint NetId => GetComponent<NetworkIdentity>()?.netId.Value ?? uint.MaxValue;
|
public uint AttachedNetId => GetComponent<NetworkIdentity>()?.netId.Value ?? uint.MaxValue;
|
||||||
public uint PlayerId => this.GetPlayerOfObject();
|
public uint PlayerId => this.GetPlayerOfObject();
|
||||||
public uint PreviousPlayerId { get; set; }
|
public uint PreviousPlayerId { get; set; }
|
||||||
public PlayerInfo Player => PlayerRegistry.GetPlayer(PlayerId);
|
public PlayerInfo Player => PlayerRegistry.GetPlayer(PlayerId);
|
||||||
|
@ -21,7 +21,7 @@ namespace QSB.TransformSync
|
|||||||
|
|
||||||
protected virtual void Awake()
|
protected virtual void Awake()
|
||||||
{
|
{
|
||||||
DebugLog.DebugWrite($"Awake of {NetId} ({GetType().Name})");
|
DebugLog.DebugWrite($"Awake of {AttachedNetId} ({GetType().Name})");
|
||||||
PlayerRegistry.PlayerSyncObjects.Add(this);
|
PlayerRegistry.PlayerSyncObjects.Add(this);
|
||||||
DontDestroyOnLoad(gameObject);
|
DontDestroyOnLoad(gameObject);
|
||||||
QSBSceneManager.OnSceneLoaded += OnSceneLoaded;
|
QSBSceneManager.OnSceneLoaded += OnSceneLoaded;
|
||||||
@ -34,7 +34,7 @@ namespace QSB.TransformSync
|
|||||||
|
|
||||||
protected void Init()
|
protected void Init()
|
||||||
{
|
{
|
||||||
DebugLog.DebugWrite($"Init of {NetId} ({Player.PlayerId}.{GetType().Name})");
|
DebugLog.DebugWrite($"Init of {AttachedNetId} ({Player.PlayerId}.{GetType().Name})");
|
||||||
ReferenceSector = QSBSectorManager.Instance.GetStartPlanetSector();
|
ReferenceSector = QSBSectorManager.Instance.GetStartPlanetSector();
|
||||||
SyncedTransform = hasAuthority ? InitLocalTransform() : InitRemoteTransform();
|
SyncedTransform = hasAuthority ? InitLocalTransform() : InitRemoteTransform();
|
||||||
if (!hasAuthority)
|
if (!hasAuthority)
|
||||||
@ -64,13 +64,13 @@ namespace QSB.TransformSync
|
|||||||
|
|
||||||
if (SyncedTransform == null)
|
if (SyncedTransform == null)
|
||||||
{
|
{
|
||||||
DebugLog.ToConsole($"SyncedTransform {NetId} ({Player.PlayerId}.{GetType().Name}) is null!");
|
DebugLog.ToConsole($"SyncedTransform {AttachedNetId} ({Player.PlayerId}.{GetType().Name}) is null!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ReferenceSector == null)
|
if (ReferenceSector == null)
|
||||||
{
|
{
|
||||||
DebugLog.ToConsole($"Error - {NetId} ({Player.PlayerId}.{GetType().Name}) doesn't have a reference sector", MessageType.Error);
|
DebugLog.ToConsole($"Error - {AttachedNetId} ({Player.PlayerId}.{GetType().Name}) doesn't have a reference sector", MessageType.Error);
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateTransform();
|
UpdateTransform();
|
||||||
@ -82,7 +82,7 @@ namespace QSB.TransformSync
|
|||||||
{
|
{
|
||||||
if (ReferenceSector.Sector == null)
|
if (ReferenceSector.Sector == null)
|
||||||
{
|
{
|
||||||
DebugLog.ToConsole($"Sector is null for referencesector for {NetId} ({Player.PlayerId}.{GetType().Name})!", MessageType.Error);
|
DebugLog.ToConsole($"Sector is null for referencesector for {AttachedNetId} ({Player.PlayerId}.{GetType().Name})!", MessageType.Error);
|
||||||
}
|
}
|
||||||
transform.position = ReferenceSector.Transform.InverseTransformPoint(SyncedTransform.position);
|
transform.position = ReferenceSector.Transform.InverseTransformPoint(SyncedTransform.position);
|
||||||
transform.rotation = ReferenceSector.Transform.InverseTransformRotation(SyncedTransform.rotation);
|
transform.rotation = ReferenceSector.Transform.InverseTransformRotation(SyncedTransform.rotation);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user