Permissions Panel no longer adds duplicates into the player list on first load.

This commit is contained in:
Jamie Greunbaum 2025-12-08 15:56:05 -05:00
parent be83f3a0b2
commit b6921d760a

View File

@ -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);
}