Vous pouvez utiliser l'interrupteur de deux façons différentes :
-
Comme interrupteur physique avec lequel les joueurs peuvent interagir. Cet interrupteur peut être relié à d'autres appareils et permet aux joueurs d’ouvrir et de fermer une porte, ou bien d'allumer et d'éteindre une lumière, par exemple.
-
Comme méthode pour filtrer les interactions avec d’autres appareils. Par exemple : si l'interrupteur est sur Allumé, il transmet sur un canal, et s'il est sur Éteint, il transmet sur un autre canal.
Pour trouver l'interrupteur, consultez Utiliser les appareils.
Filtre contextuel
Certains appareils sont affectés par une fonctionnalité appelée le filtre contextuel. Elle permet de masquer ou d'afficher des options en fonction des valeurs sélectionnées pour certaines options liées. Cette fonctionnalité rend le panneau Personnaliser moins désordonné et rend la gestion et la navigation dans les options plus aisées.
Il n'est cependant pas forcément évident de reconnaître les options et valeurs qui déclenchent le filtre contextuel. Afin de vous aider à les identifier, les valeurs qui déclenchent le filtre contextuel sont en italique. Toutes les options sont listées, y compris celles affectées par le filtre contextuel. Une note dans le champ Description de l'option vous indique si elle est masquée ou affichée, selon une valeur spécifique.
Options de l'appareil
Cet appareil dispose d'options de base pour définir, par exemple, la visibilité de l'interrupteur ou le texte qui apparaît lorsque les joueurs interagissent avec. De plus, l'interrupteur possède des options avancées utilisables lorsque l'interrupteur est capable de sauvegarder son état.
Vous pouvez configurer cet appareil avec les options suivantes.
Les valeurs par défaut sont en gras. Les valeurs affectées par le filtre contextuel sont en italique.
Option | Valeur | Description |
Activé au démarrage du jeu | Oui, Non | Définit si cet appareil est activé ou non lorsque le jeu commence. Les appareils désactivés ignorent tous les signaux à l'exception des signaux d'activation. |
État de départ | Non, Oui | C'est l'état initial par défaut de l'interrupteur tant qu'il n'a pas été modifié par un joueur. |
Visible pendant le jeu | Oui, Non | Définit si l'appareil est visible pendant le jeu. |
Texte d'interrupteur allumé | Entrez un texte | Définit le texte d'interaction de l'interrupteur quand il est en position Allumé. Le champ de texte est limité à 150 caractères. |
Texte d'interrupteur éteint | Entrez un texte | Définit le texte d'interaction de l'interrupteur pour l'éteindre. Le champ de texte est limité à 150 caractères. |
Modèle d'appareil | Par défaut, Levier, Interrupteur, Par défaut (éteint), Levier (éteint), Bouton rouge, Disjoncteur, Levier ancien, Case à cocher | Définit le modèle visuel utilisé pour l'appareil. |
Son | Activé, Désactivé | Définit si l'appareil émet un son lorsqu'il change d'état. |
Autoriser les interactions | Oui, Non | Définit si les joueurs peuvent interagir avec l'appareil. |
Durée d'interaction | Aucune interaction, Instantanée, choisissez une durée | Définit pendant combien de temps le joueur doit interagir avec l'interrupteur pour le déclencher. |
Limite de nombre de changements | Non, Oui | Définit s'il est possible de changer cet appareil un nombre de fois infini ou personnalisé. Si vous choisissez Oui, une option supplémentaire s'affiche sous celle-ci. |
Limite de nombre de changements | 1, choisissez un nombre | Définit le nombre de fois que cet appareil peut être actionné avant d'être désactivé. |
Délai de récupération infini | Non, Oui | Définit le délai de réactivation entre chaque interaction avec l'appareil. Si vous choisissez Oui, l'option Délai de récupération ne s'affiche pas sous celle-ci. |
Délai de récupération | Instantané, choisissez une durée | Cette option apparaît uniquement si l'option Délai de récupération infini est réglée sur Non. Définit le délai de réactivation entre chaque interaction. |
Classe autorisée | Pas de classe, N'importe laquelle, choisissez une classe | Définit quelle classe peut déclencher l'appareil. |
Équipe autorisée | N'importe laquelle, choisissez une équipe | Définit quelle équipe peut déclencher l'appareil. |
Rayon d'interaction | 0, choisissez un rayon | Permet aux joueurs d'interagir avec le bouton en regardant n'importe quel point à l'intérieur du rayon sélectionné, plutôt que d'avoir à regarder directement le bouton. Associez cette option à celle Visibilité pour faire comme si les joueurs interagissaient avec d'autres accessoires. |
Durée de réinitialisation de l'état | Aucune réinitialisation, choisissez une durée | Définit le temps que met l'appareil à reprendre son état par défaut. |
Mutuellement exclusif | Aucune exclusivité, choisissez un nombre | Si vous activez cet interrupteur, tous les interrupteurs avec le même nombre dans l'option *Mutuellement exclusif sont désactivés. |
État sauvegardé par joueur | Oui, Non | Si cette option est réglée sur Oui chaque joueur bénéficie de son propre état d'interrupteur. Si cette option est réglée sur Non, tous les joueurs bénéficient du même état d'interrupteur. Si cette option est réglée sur Non et si l'option Utiliser la persistance est réglée sur Utiliser, l'interrupteur utilise l'option Résoudre les conflits lorsque l'état tente de charger. |
Utiliser la persistance | Non, Oui | Définit si cet appareil doit sauvegarder ou charger des données en mémoire. Si vous choisissez Utiliser, des options supplémentaires s'affichent dans l'onglet Toutes les options. |
Sauvegarde automatique | Oui, Non | Cette option s'affiche uniquement si l'option Utiliser la persistance est réglée sur Utiliser. Définit si l'état de l'interrupteur est automatiquement enregistré lorsqu'il change. |
Chargement automatique | Oui, Non | Cette option s'affiche uniquement si l'option Utiliser la persistance est réglée sur Utiliser. Définit si l'état de l'interrupteur est automatiquement chargé au début du jeu ou s'il doit être chargé via la liaison d'événements directe. |
Résoudre les conflits | Premier joueur, Majorité, Priorité activée, Priorité désactivée | Cette option s'affiche uniquement si l'option Utiliser la persistance est réglée sur Utiliser. Définit ce qu'il arrive lorsque l'état est chargé et que l'option État sauvegardé par joueur unique est réglée sur Non. Les valeurs pour cette option sont :
|
Vérifier l'état au démarrage du jeu | Activé, Désactivé | Définit si l'interrupteur vérifie son état au début du jeu, ce qui déclenche l'événement Si allumé quand vérifié ou Si éteint quand vérifié. |
Vérifier l'état de l'interrupteur si désactivé | Oui, Non | Définit si l'appareil vérifie son état même s'il est désactivé. |
Système de liaison d'événements directe
La liaison d'événements directe permet aux appareils de communiquer directement. Cela rend votre travail plus intuitif et vous donne plus de liberté pour vous concentrer sur vos idées.
Vous trouverez ci-dessous les fonctions et les événements de cet appareil.
Fonctions
Une fonction attend qu'un événement lui soit transmis avant d'effectuer une action.
- Pour utiliser une fonction, cliquez sur AJOUTER, puis Sélectionner l'appareil pour faire apparaître le menu déroulant et choisir un appareil.
- Une fois l'appareil sélectionné, cliquez sur Sélectionnez l'événement pour lier l'appareil à l'événement qui déclenchera la fonction de l'appareil.
- Si plus d'un appareil ou événement peuvent déclencher la fonction, appuyez sur Ajouter et répétez le processus.
Option | Description |
---|---|
Activer si reçu depuis | Active l'appareil lorsqu'un événement se produit. |
Désactiver si reçu depuis | Désactive l'appareil lorsqu'un événement se produit. |
Allumer si reçu depuis | Définit l'état de l'interrupteur sur Allumé lorsqu'un événement se produit. |
Éteindre si reçu depuis | Définit l'état de l'interrupteur sur Éteint lorsqu'un événement se produit. |
Alterner l'état si reçu depuis | Alterne l'état de l'interrupteur lorsqu'un événement se produit. |
Charger l'état si reçu depuis | Charge les données d'état sauvegardées de l'interrupteur lorsqu'un événement se produit. |
Sauvegarder l'état si reçu depuis | Sauvegarde les données d'état de l'interrupteur lorsqu'un événement se produit. |
Vérifier l'état si reçu depuis | Vérifie l'état de l'interrupteur lorsqu'un événement se produit. |
Effacer les données persistantes du joueur si reçu depuis | Efface les données persistantes du joueur instigateur lorsqu'un événement se produit. |
Effacer toutes les données persistantes des joueurs actuels si reçu depuis | Efface les données persistantes de tous les joueurs actifs lorsqu'un événement se produit. |
Sauvegarder l'état de tous les joueurs si reçu depuis | Sauvegarde l'état de l'interrupteur pour tous les joueurs lorsqu'un événement se produit. |
Charger l'état de tous les joueurs si reçu depuis | Charge l'état de l'interrupteur pour tous les joueurs lorsqu'un événement se produit. |
Événements
La liaison d'événements directe utilise les événements comme transmetteurs. Un événement ordonne à un autre appareil d'exécuter une fonction.
- Pour utiliser un événement, cliquez sur AJOUTER, puis Sélectionner l'appareil pour faire apparaître le menu déroulant et choisir un appareil.
- Une fois l'appareil sélectionné, cliquez sur Sélectionnez la fonction pour lier l'événement à la fonction qu'il déclenche sur cet appareil.
- Si plus d'une fonction est déclenchée par l'événement, cliquez sur Ajouter et répétez le processus.
Option | Description |
---|---|
Si allumé, envoyer l'événement sur | Quand l'état de l'appareil est défini sur allumé, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
Si éteint, envoyer l'événement sur | Quand l'état de l'appareil est défini sur Éteint, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
Si allumé quand vérifié, envoyer l'événement sur | Si l'état de l'appareil est défini sur allumé lorsqu'il est vérifié, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
Si éteint quand vérifié, envoyer l'événement sur | Si l'état de l'appareil est défini sur Éteint lorsqu'il est vérifié, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
À la sauvegarde de l'état, envoyer l'événement sur | Quand l'état de l'appareil est sauvegardé, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
Au changement d'état | Quand l'appareil change d'état, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
Au chargement de l'état, envoyer l'événement sur | Quand l'état de l'appareil est chargé, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
À l'effacement, envoyer l'événement sur | Quand les données persistantes sont effacées, envoie un événement sur l'appareil sélectionné, ce qui déclenche la fonction sélectionnée. |
Utiliser les interrupteurs dans Verse
Utilisez le code ci-dessous pour contrôler un interrupteur dans Verse. Ce code montre comment utiliser les événements et les fonctions dans l'API de l'interrupteur. Modifiez-le pour qu'il convienne à votre expérience.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Un appareil créatif programmé avec Verse qui peut être placé dans un niveau
switch_device_verse_example := class(creative_device):
# Référence à l'interrupteur dans le niveau.
# Dans le panneau Détails de cet appareil Verse,
# définissez cette propriété sur votre interrupteur.
@editable
MySwitchDevice:switch_device = switch_device{}
# Messages localisables que vous pouvez utiliser pour définir du texte visible par les joueurs
TurnOnInteractionText<localizes>:message = "Custom switch turned on text!"
# Se lance lorsque l'appareil est activé dans un jeu.
OnBegin<override>()<suspends>:void=
# Exemple pour la souscription à un événement sur l'appareil créatif.
# Signalé lorsque l'état de l'interrupteur change.
MySwitchDevice.StateChangesEvent.Subscribe(OnStateChanged)
# Définit l'option *Texte d'interrupteur pour allumer* pour qu'elle soit affichée à un utilisateur lorsque l'interrupteur est éteint et offre la possibilité d'interagir avec l'interrupteur pour l'allumer. Le champ de texte est limité à 150 caractères.
MySwitchDevice.SetTurnOnInteractionText(TurnOnInteractionText)
# Cette fonction se lance lorsque le joueur allume/éteint l'interrupteur dans le jeu parce qu'il s'agit d'un gestionnaire d'événements pour StateChangesEvent.
OnStateChanged():void=
Print("Switch Device state changed.")
# Demande si cet appareil dispose d'un état allumé/éteint global unique ou s'il dispose d'un état allumé/éteint personnalisé pour chaque agent individuel.
if (MySwitchDevice.IsStatePerAgent[]):
Print("Switch Device state is set to per agent.")
# Cet exemple passe en revue tous les joueurs de l'expérience pour montrer comment faire des opérations par joueur sur l'appareil.
for (Player : GetPlayspace().GetPlayers()):
# Rétablit l'état actuel de l'interrupteur : allumé ou éteint. Utilisez l'excès de `GetCurrentState` quand *État sauvegardé par joueur unique* est défini sur *Oui*.
if (MySwitchDevice.GetCurrentState[Player]):
Print("Current state is on.")
else:
Print("Current state is off.")
else:
Print("Switch Device state is not set to per agent.")
# Rétablit l'état actuel de l'interrupteur : allumé ou éteint. Utilisez l'excès de `GetCurrentState` quand *État sauvegardé par joueur unique* est défini sur *Non*.
if (MySwitchDevice.GetCurrentState[]):
Print("Current state is on.")
else:
Print("Current state is off.")
Pour utiliser ce code dans votre expérience UEFN, suivez ces étapes.
- Placez un interrupteur sur votre île.
- Créez un nouvel appareil Verse nommé switch_device_verse_example. Consultez Créer votre propre appareil avec Verse pour connaître les étapes à suivre.
- Dans Visual Studio Code, ouvrez switch_device_verse_example.verse et collez le code ci-dessus.
- Compilez votre code et faites glisser l'appareil créé avec Verse sur votre île. Consultez Ajouter votre appareil Verse à votre niveau pour connaître les étapes à suivre.
- Ajoutez une référence pour l'interrupteur sur votre île à votre appareil Verse. Consultez Ajouter une référence Verse à un appareil créatif dans votre niveau pour connaître les étapes à suivre.
- Sauvegardez votre projet et cliquez sur Lancer la session pour tester.
API de l'interrupteur
Consultez la référence de l'API switch_device
pour savoir comment utiliser l'interrupteur dans Verse.