---
slug: api
title: API
description: Pour les Développeurs
---
Le Système Bouncer fournit une API publique qui vous permet d'interagir avec la vérification des joueurs et le statut de sécurité depuis vos propres scripts Udon.
## Méthodes d'API Publique
### _VerifyPlayer
Vérifie un joueur, le marquant comme autorisé. Cette méthode est généralement utilisée par le personnel de sécurité via le scanner de sécurité.
**Signature :**
```csharp
public void _VerifyPlayer(VRCPlayerApi p)
```
**Paramètres :**
- `p` - Le joueur à vérifier
**Comportement :**
- Seul le personnel de sécurité peut vérifier d'autres joueurs
- Le personnel de sécurité ne peut pas changer le statut de vérification d'autres membres de sécurité.
**Exemple :**
```csharp
// Obtenir le joueur que vous voulez vérifier
VRCPlayerApi targetPlayer = Networking.GetOwner(someObject);
// Vérifier le joueur (doit être appelé par la sécurité)
bouncerSystem._VerifyPlayer(targetPlayer);
```
---
### _IsSecurity
Vérifie si un joueur a le statut de sécurité.
**Signature :**
```csharp
public bool _IsSecurity(VRCPlayerApi p)
```
**Paramètres :**
- `p` - Le joueur à vérifier
**Retourne :**
- `true` si le joueur est sécurité
- `false` si le joueur n'est pas sécurité ou si aucune donnée de joueur n'est trouvée
**Exemple :**
```csharp
VRCPlayerApi player = Networking.LocalPlayer;
if (bouncerSystem._IsSecurity(player))
{
Debug.Log("Player is security!");
// Activer les fonctionnalités réservées à la sécurité
}
```
---
### _IsVerified
Vérifie si un joueur est vérifié.
**Signature :**
```csharp
public bool _IsVerified(VRCPlayerApi p)
```
**Paramètres :**
- `p` - Le joueur à vérifier
**Retourne :**
- `true` si le joueur est vérifié
- `false` si le joueur n'est pas vérifié ou si aucune donnée de joueur n'est trouvée
**Exemple :**
```csharp
VRCPlayerApi player = Networking.LocalPlayer;
if (bouncerSystem._IsVerified(player))
{
Debug.Log("Player is verified!");
// Permettre l'accès aux zones réservées aux vérifiés
}
```
---
### _ReloadToggleableObjects
Recharge et met à jour tous les objets activables en fonction du statut actuel de sécurité et de vérification du joueur local.
**Signature :**
```csharp
public void _ReloadToggleableObjects()
```
**Comportement :**
- Alterne les objets réservés à la sécurité en fonction du statut de sécurité
- Alterne les objets réservés aux vérifiés en fonction du statut de vérification
- Régénère le joueur local si `RespawnOnUnverify` est activé et que le joueur n'est pas vérifié
---
### _CheckSecurityList
Vérifie la liste de sécurité et connecte le joueur local s'il est autorisé en tant que sécurité.
**Signature :**
```csharp
public void _CheckSecurityList()
```
**Comportement :**
- Ne réinitialise **pas** le statut vérifié
- Vérifie plusieurs sources de sécurité par ordre de priorité :
- Propriétaire d'instance (si `IOIsSecurity` est activé)
- Liste de sécurité en texte brut
- Intégration Security Keypad (si disponible)
- Rôle vérifié du keypad (si disponible)
- Liste de sécurité externe depuis URL (si configurée)
- Définit le niveau de sécurité approprié en fonction de la méthode de connexion
- Charge les listes de sécurité externes de manière asynchrone si une URL est fournie
---
### _UpdateAllUsers
Met à jour toute la GUI en obtenant les valeurs actualisées du statut de vérification et de sécurité de chaque joueur.
**Signature :**
```csharp
public void _UpdateAllUsers()
```
**Comportement :**
- Met à jour l'affichage de tous les composants `BouncerUserData`.
- Utile pour s'assurer que toutes les valeurs sont à jour, essayez d'éviter de l'utiliser fréquemment.
---
## Accéder aux Données Utilisateur Directement
Le script **BouncerUserData** contient une valeur synchronisée `byte _securityLevel` qui représente si l'utilisateur est :
- 0 = non vérifié
- 1 = vérifié
- 2 = sécurité temporaire
- 3 > sécurité permanente
Cette valeur est privée et ne peut être accédée que par la propriété **SecurityLevel**, qui peut être obtenue par n'importe qui mais seulement éditée par le propriétaire de l'objet du joueur.
Vous pouvez également accéder à **IsVerified**, **IsSecurity** et **CanRemove** directement depuis l'objet du joueur, bien qu'il soit conseillé de le faire depuis le système bouncer.
Vous pouvez appeler `UpdateGUI()` pour rafraîchir uniquement les états de toggle de ce joueur spécifique.