mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-09 09:39:57 +00:00
OnAddPlayer and OnRemovePlayer use PlayerInfo instead of PlayerId
This commit is contained in:
parent
aebe34f746
commit
3064838e06
@ -26,9 +26,9 @@ namespace QSB.EyeOfTheUniverse.CosmicInflation
|
||||
QSBPlayerManager.OnRemovePlayer += OnPlayerLeave;
|
||||
}
|
||||
|
||||
private void OnPlayerLeave(uint id)
|
||||
private void OnPlayerLeave(PlayerInfo player)
|
||||
{
|
||||
_playersInFog.Remove(QSBPlayerManager.GetPlayer(id));
|
||||
_playersInFog.Remove(player);
|
||||
|
||||
// wait 1 frame for player to be removed
|
||||
QSBCore.UnityEvents.FireOnNextUpdate(() =>
|
||||
|
@ -23,7 +23,7 @@ namespace QSB.EyeOfTheUniverse.MaskSync
|
||||
base.Awake();
|
||||
Instance = this;
|
||||
|
||||
QSBPlayerManager.OnRemovePlayer += OnPlayerLeave;
|
||||
// QSBPlayerManager.OnRemovePlayer += OnPlayerLeave;
|
||||
}
|
||||
|
||||
private static void OnPlayerLeave(uint obj)
|
||||
|
@ -56,9 +56,9 @@ namespace QSB.ItemSync.WorldObjects.Items
|
||||
|
||||
public override void OnRemoval() => QSBPlayerManager.OnRemovePlayer -= OnPlayerLeave;
|
||||
|
||||
private void OnPlayerLeave(uint player)
|
||||
private void OnPlayerLeave(PlayerInfo player)
|
||||
{
|
||||
if (HoldingPlayer != player)
|
||||
if (HoldingPlayer != player.PlayerId)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -32,11 +32,11 @@ namespace QSB.Player
|
||||
/// <summary>
|
||||
/// called right after player is added
|
||||
/// </summary>
|
||||
public static Action<uint> OnAddPlayer;
|
||||
public static Action<PlayerInfo> OnAddPlayer;
|
||||
/// <summary>
|
||||
/// called right before player is removed
|
||||
/// </summary>
|
||||
public static Action<uint> OnRemovePlayer;
|
||||
public static Action<PlayerInfo> OnRemovePlayer;
|
||||
|
||||
public static readonly List<PlayerInfo> PlayerList = new();
|
||||
|
||||
|
@ -50,7 +50,7 @@ namespace QSB.Player.TransformSync
|
||||
var player = new PlayerInfo(this);
|
||||
QSBPlayerManager.PlayerList.SafeAdd(player);
|
||||
base.Start();
|
||||
QSBPlayerManager.OnAddPlayer?.Invoke(Player.PlayerId);
|
||||
QSBPlayerManager.OnAddPlayer?.Invoke(Player);
|
||||
DebugLog.DebugWrite($"Create Player : id<{Player.PlayerId}>", MessageType.Info);
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ namespace QSB.Player.TransformSync
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
// TODO : Maybe move this to a leave event...? Would ensure everything could finish up before removing the player
|
||||
QSBPlayerManager.OnRemovePlayer?.Invoke(Player.PlayerId);
|
||||
QSBPlayerManager.OnRemovePlayer?.Invoke(Player);
|
||||
base.OnDestroy();
|
||||
Player.HudMarker?.Remove();
|
||||
QSBPlayerManager.PlayerList.Remove(Player);
|
||||
|
@ -673,14 +673,13 @@ namespace QSB.PoolSync
|
||||
|
||||
public bool IsPlatformActive() => _platformActive;
|
||||
|
||||
public void OnRemovePlayer(uint id)
|
||||
public void OnRemovePlayer(PlayerInfo player)
|
||||
{
|
||||
if (id == QSBPlayerManager.LocalPlayerId)
|
||||
if (player == QSBPlayerManager.LocalPlayer)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var player = QSBPlayerManager.GetPlayer(id);
|
||||
if (!_playerToHologram.Any(x => x.Key == player))
|
||||
{
|
||||
return;
|
||||
@ -689,7 +688,7 @@ namespace QSB.PoolSync
|
||||
var hologram = _playerToHologram.First(x => x.Key == player).Value;
|
||||
if (hologram.activeSelf)
|
||||
{
|
||||
OnRemotePlayerExit(id);
|
||||
OnRemotePlayerExit(player.PlayerId);
|
||||
}
|
||||
|
||||
_playerToHologram.Remove(player);
|
||||
|
@ -47,7 +47,7 @@ namespace QSB.QuantumSync
|
||||
}
|
||||
}
|
||||
|
||||
public void PlayerLeave(uint playerId)
|
||||
public void PlayerLeave(PlayerInfo player)
|
||||
{
|
||||
if (!QSBCore.IsHost)
|
||||
{
|
||||
@ -56,7 +56,7 @@ namespace QSB.QuantumSync
|
||||
|
||||
foreach (var obj in QSBWorldSync.GetWorldObjects<IQSBQuantumObject>())
|
||||
{
|
||||
if (obj.ControllingPlayer == playerId)
|
||||
if (obj.ControllingPlayer == player.PlayerId)
|
||||
{
|
||||
obj.SendMessage(new QuantumAuthorityMessage(obj.IsEnabled ? QSBPlayerManager.LocalPlayerId : 0u));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user