Référence API et limites
Résumé des classes publiques, types pris en charge et limites connues du SDK Unity 0.1.3.
Cette page sert d'aide-mémoire pour la version 0.1.3. Consultez les tutoriels précédents pour le contexte et les exemples complets.
Espaces de noms
| Espace | Types principaux |
|---|---|
PulseSDK.Attributes | PulseActionAttribute, PulseVariableAttribute |
PulseSDK.Core | PulseBehaviour, PulseManager |
PulseSDK.Binding | PulseRegistry, ActionBinding, bindings de variables |
| global | PulseMDMClient |
Attributs
PulseActionAttribute(string actionId)
- cible : méthode d'instance ;
- hérité : oui ;
- multiplicité : un par méthode ;
- signature supportée : retour
void, paramètresint,float,double,bool,string,enum.
PulseVariableAttribute(string varId)
Propriété
Type
L'attribut cible un champ ou une propriété d'instance. HasMin et HasMax indiquent si une borne a été renseignée ; une propriété est modifiable uniquement si elle possède un setter.
PulseBehaviour
Classe de base de tout composant exposé. Ses méthodes virtuelles protégées OnEnable() et OnDisable() enregistrent et désenregistrent l'instance. Appelez base dans toute surcharge.
PulseManager
| Membre | Rôle |
|---|---|
static Instance | singleton actif |
bool IsConnected | état courant du WebSocket |
Connect() | démarre une connexion |
Disconnect() | ferme volontairement et arrête la reconnexion |
Send(string) | envoie un message brut si connecté |
OnConnected | événement sur le thread principal |
OnDisconnected | événement sur le thread principal |
OnMessage | message texte reçu sur le thread principal |
Le manager persiste avec DontDestroyOnLoad. Le backoff de reconnexion involontaire part de 2 secondes et est plafonné à 60 secondes.
PulseRegistry
API publique avancée pour inspecter ou résoudre les bindings :
Register(PulseBehaviour)/Unregister(PulseBehaviour);TryGetAction(id, out binding);TryGetVariable(id, out binding);- dictionnaires en lecture seule
ActionsetVariables.
ActionBinding.Invoke(JArray) convertit les arguments et appelle la cible. PulseParamSchema décrit name, kind, flags, options et values.
Contrat généré
- action avec enum : widget
dropdown_button, sinonbutton; - variable avec deux bornes :
slider, sinonlabel; - la valeur initiale est lue via le getter lors du
SCHEMA; SYNCprovoque un nouveauSCHEMA;CMDetSETproduisent un ACK corrélé parcid.
Limites connues en 0.1.3
- aucun
DELTAautomatique pour les changements locaux de variables ; - aucun nouveau schéma automatique quand un binding apparaît après la connexion ; utilisez
SYNC; - clamp runtime limité à
intetfloat, pasdouble; - arguments supplémentaires d'une action ignorés ; arguments manquants refusés ;
- retours non
void, méthodes statiques, génériques etTasknon pris en charge ; - IDs globaux en collision : le dernier enregistrement remplace le précédent ;
- le sélecteur d'icônes dépend d'un
Assets/Data/lucide-icons.jsonnon inclus ; - une configuration UI uniquement colorée n'est pas sauvegardée par l'éditeur ;
- le package ne configure pas les règles Android de trafic
ws://; - la version de protocole écrite dans le schéma est actuellement
1.0.0.
Checklist de revue avant livraison
- Package et documentation ciblent la même version.
- IDs et valeurs d'enum sont gelés comme contrat public.
- Toutes les signatures restent dans les types pris en charge.
- La stratégie
SYNCcouvre les scènes et objets dynamiques. - Le produit n'attend pas de
DELTAnon implémenté. - Le build réel a passé la recette du tutoriel précédent.
Revenir à l'accueil du SDK Unity.
Cette page vous a-t-elle aidé ?
Dernière mise à jour le