BulletHell/Assets/BulletHellTemplate/Core/MainMenu/Lobby/SharedModeMasterClientTracker.cs

51 lines
1.0 KiB
C#
Raw Permalink Normal View History

2025-09-19 19:43:49 +05:00
#if FUSION2
using Fusion;
#endif
using UnityEngine;
namespace BulletHellTemplate
{
#if FUSION2
[RequireComponent(typeof(NetworkObject))]
#endif
public class SharedModeMasterClientTracker :
#if FUSION2
NetworkBehaviour
#else
MonoBehaviour
#endif
{
static SharedModeMasterClientTracker LocalInstance;
#if FUSION2
public override void Spawned()
{
LocalInstance = this;
}
private void OnDestroy()
{
if (LocalInstance == this)
LocalInstance = null;
}
public static bool IsPlayerSharedModeMasterClient(PlayerRef player)
{
if (LocalInstance == null)
return false;
return LocalInstance.Object.StateAuthority == player;
}
public static PlayerRef? GetSharedModeMasterClientPlayerRef()
{
if (LocalInstance == null)
return null;
return LocalInstance.Object.StateAuthority;
}
#endif
}
}