Aller au contenu principal

API

---
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.