diff --git a/Assets/UdonSharp/Player Permissions/PermissionsPanel.cs b/Assets/UdonSharp/Player Permissions/PermissionsPanel.cs index dab3442..b2d7ae7 100644 --- a/Assets/UdonSharp/Player Permissions/PermissionsPanel.cs +++ b/Assets/UdonSharp/Player Permissions/PermissionsPanel.cs @@ -26,7 +26,7 @@ public class PermissionsPanel : UdonSharpBehaviour [SerializeField] private UdonBehaviour[] _HostEventListeners = new UdonBehaviour[0]; [SerializeField] private UdonBehaviour[] _CameraEventListeners = new UdonBehaviour[0]; - private const int MAX_PLAYERS_IN_LIST = 100; + private const int MAX_PLAYERS_IN_LIST = 85; void Start() @@ -40,40 +40,46 @@ public class PermissionsPanel : UdonSharpBehaviour public override void OnPlayerJoined(VRCPlayerApi Player) { - for (int i = 0; i < PlayerData_Name.Length; i++) + if (Networking.LocalPlayer == Networking.GetOwner(gameObject)) { - if (PlayerData_Name[i] == null) + for (int i = 0; i < PlayerData_Name.Length; i++) { - PlayerData_Name[i] = Player.displayName; - PlayerData_ID[i] = Player.playerId; + if (PlayerData_Name[i] == null) + { + PlayerData_Name[i] = Player.displayName; + PlayerData_ID[i] = Player.playerId; - PlayerData_Admin[i] = (Player.isInstanceOwner || Player.isMaster); - PlayerData_Host[i] = (Player.isInstanceOwner || Player.isMaster); - PlayerData_Camera[i] = (Player.isInstanceOwner || Player.isMaster); + PlayerData_Admin[i] = (Player.isInstanceOwner || Player.isMaster); + PlayerData_Host[i] = (Player.isInstanceOwner || Player.isMaster); + PlayerData_Camera[i] = (Player.isInstanceOwner || Player.isMaster); - break; + break; + } } - } - RebuildPlayerList(); - RequestSerialization(); + RebuildPlayerList(); + RequestSerialization(); + } base.OnPlayerJoined(Player); } public override void OnPlayerLeft(VRCPlayerApi Player) { - for (int i = 0; i < PlayerData_Name.Length; i++) + if (Networking.LocalPlayer == Networking.GetOwner(gameObject)) { - if (PlayerData_Name[i] == Player.displayName) + for (int i = 0; i < PlayerData_Name.Length; i++) { - PlayerData_Name[i] = null; - break; + if (PlayerData_Name[i] == Player.displayName) + { + PlayerData_Name[i] = null; + break; + } } - } - RebuildPlayerList(); - RequestSerialization(); + RebuildPlayerList(); + RequestSerialization(); + } base.OnPlayerLeft(Player); }