Há duas maneiras de se usar um Interruptor.
-
Como um Interruptor físico com que os jogadores podem interagir, usado com outros dispositivos para que eles possam abrir e fechar portas ou acender e apagar luzes.
-
Como método para filtrar interações com outros dispositivos. Por exemplo, se o estado do Interruptor for Ligado, ele transmitirá em um canal, e, se o Interruptor estiver Desligado, transmitirá em outro canal.
Para encontrar o dispositivo Interruptor, veja Como Encontrar e Colocar Dispositivos.
Filtro Contextual
Alguns dispositivos contam com um recurso chamado filtro contextual. Este recurso oculta ou exibe opções de acordo com os valores selecionados em outras opções relacionadas. Além de deixar o painel de personalização mais enxuto, facilitando a navegação pelas opções e o gerenciamento delas.
No entanto, pode ser difícil reconhecer quais opções e valores acionam o filtro contextual. Para ajudar nessa identificação, todos os valores que acionam o filtro contextual são exibidos em itálico. Todas as opções são listadas, até mesmo as afetadas pelo filtro contextual. No caso de opções ocultadas ou exibidas de acordo com o valor de outras opções específicas, há uma observação no campo Descrição delas.
Opções do Dispositivo
Este dispositivo tem algumas funções básicas, como a visibilidade do Interruptor e escolher que texto o jogador verá ao interagir com o Interruptor. Há ainda algumas opções avançadas que você pode usar caso seja possível salvar o estado do Interruptor.
Você pode configurar as seguintes opções deste dispositivo:
Os valores considerados como padrão estão em negrito. Valores que usam filtros contextuais estão em itálico.
Opção | Valor | Descrição |
---|---|---|
Habilitado ao Iniciar** | Sim, Não | Determina se o dispositivo está habilitado no início do jogo. Dispositivos desabilitados ignoram todos os eventos exceto a sua habilitação. |
Estado Inicial | Desligado, Ligado | Este é o Estado Inicial padrão do Interruptor quando não há nenhum estado desencadeado pelo jogador para substituí-lo. |
Visível Durante o Jogo | Sim, Não | Determina se o dispositivo fica visível durante o jogo. |
Texto de Ativação | Inserir Texto no Campo | O texto exibido ao ativar o Interruptor. Limite de 150 caracteres. |
Texto de Desativação | Inserir Texto no Campo | O texto exibido ao desativar o Interruptor. Limite de 150 caracteres. |
Modelo do Dispositivo | Padrão, Alavanca, Interruptor, Padrão (Apagada), Alavanca (Apagada), Botão Vermelho, Disjuntor, Alavanca Antiga, Caixa de Seleção | Modelo visual usado para exibir o Interruptor. |
Som | Habilitado, Desabilitado | Determina se o Interruptor produz um som ao ter o estado alterado (de Desligado para Ligado, de Ligado para Desligado). |
Permitir Interação | Sim, Não | Determina se os jogadores podem interagir com o dispositivo. |
Tempo de Interação | Instantâneo, Escolher ou Inserir Duração | Determina o tempo em segundos que o jogador precisa ficar interagindo para ativar o Personagem. |
Limite de Vezes que Pode Mudar | Não, Sim | Determina se existe um limite de vezes que o dispositivo pode ser alterado. Se estiver definido como Sim, uma opção adicional será exibida abaixo desta. |
Vezes que Pode Mudar | 1, Escolher ou Inserir Número | Determina o número de vezes que este dispositivo pode ser mudar de estado antes de ser desabilitado. |
Recarga Infinita | Não, Sim | Determina o tempo de recarga entre interações com o dispositivo. Se estiver definido como Sim, a opção Tempo de Recarga não será exibida abaixo desta. |
Tempo de Recarga | Instantâneo, Escolher Duração | Esta opção só aparece quando Recarga Infinita está definida como Não. Determina o tempo de recarga entre interações. |
Classe Permitida | Sem Classe, Qualquer Uma, Escolher ou Inserir Classe | Determina qual classe pode ativar o dispositivo. |
Equipe Permitida | Qualquer Uma, Escolher ou Inserir Equipe | Determina qual equipe pode ativar o dispositivo. |
Raio de Interação | 0, Escolher ou Inserir Raio | Permite que jogadores interajam ao olhar para qualquer ponto dentro de um raio do tamanho especificado, em vez de ter que olhar direto para o botão. Use com a configuração Visibilidade para parecer que jogadores estão interagindo com outros adereços. |
Tempo para Redefinir Estado | Não Redefinir, Escolher ou Inserir Duração | Determina quanto tempo leva para o dispositivo ser redefinido para o estado padrão. |
Mutuamente Exclusivo | Sem Exclusividade, Escolher Número | Ao Ligar este Interruptor, todos os outros Interruptores com o mesmo número de índice na opção Mutuamente Exclusivo serão desligados. |
Salvar Estado por Jogador | Sim, Não | Se esta opção estiver definida como Sim, o Interruptor terá um estado individual para cada pessoa. Se estiver definida como Não, todo mundo verá o Interruptor no mesmo estado. Caso escolha Não e a opção Usar Dados Persistentes esteja definida como Usar, o Interruptor usará a opção Resolver Conflitos ao tentar carregar o estado. |
Usar Dados Persistentes | Não Usar, Usar | Determina se este dispositivo deve salvar ou carregar dados do backend. Se escolher Usar, opções adicionais serão exibidas na aba Todas as Opções. |
Salvar Automaticamente | Sim, Não | Esta opção só é exibida quando Usar Dados Persistentes está definida como Usar. Determina se o estado do Interruptor é salvo automaticamente a cada mudança. |
Carregar Automaticamente | Ligado, Desligado | Esta opção só é exibida quando a opção Usar Dados Persistentes está definida como Usar. Determina se o estado do Interruptor é carregado automaticamente no Início do Jogo ou se precisa ser carregado usando a vinculação de evento. |
Resolver Conflitos | Primeiro Jogador, Maioria, Priorizar Ligado, Priorizar Desligado | Esta opção só é exibida quando a opção Usar Dados Persistentes está definida como Usar. Determina o que acontece quando o estado é carregado com a opção Salvar Estado por Jogador definida como Não. Os valores desta opção são:
|
Conferir Estado no Início do Jogo | Habilitado, Desabilitado | Determina se o Interruptor verifica o próprio estado no Início do Jogo, acionando os eventos Quando Ligado ao Conferir ou Quando Desligado ao Conferir. |
Conferir Estado de Interruptor Desabilitado | Sim, Não | Determina se o dispositivo verifica o próprio estado mesmo estando desabilitado. |
Sistema de Vinculação Direta de Evento
Com a Vinculação Direta de Evento, os dispositivos podem se comunicar diretamente uns com os outros. Ela torna o fluxo de trabalho mais intuitivo, dando a você mais liberdade para focar em ideias de criação.
Veja abaixo as opções de funções e eventos deste dispositivo.
Funções
Uma função recebe o sinal do evento de um dispositivo e realiza uma ação.
- Clique na função desejada e depois em Selecionar Dispositivo para selecionar os Dispositivos disponíveis no menu suspenso.
- Após selecionar um dispositivo, clique em Selecionar Evento para vincular o dispositivo a um evento que acionará a função do dispositivo.
- Se a função puder ser ativada por mais de um dispositivo ou evento, pressione o botão Adicionar para adicionar uma linha e repita esses passos.
Opção | Descrição |
---|---|
Habilitar ao Receber de | Esta função habilita o dispositivo quando um evento ocorre. |
Desabilitar ao Receber de | Esta função desabilita o dispositivo quando um evento ocorre. |
Ligar ao Receber de | Essa função liga o Interruptor de quando um evento ocorre. |
Desligar ao Receber de | Essa função desliga o Interruptor quando um evento ocorre. |
Alternar Estado ao Receber de | Esta função alterna o estado do Interruptor quando um evento ocorre. |
Carregar Estado ao Receber de | Esta função carrega o estado do Interruptor quando um evento ocorre. |
Salvar Estado ao Receber de | Esta função salva o estado do Interruptor quando um evento ocorre. |
Conferir Estado ao Receber de | Esta função verifica o estado do Interruptor quando um evento ocorre. |
Limpar Dados Persistentes de Jogador ao Receber de | Esta função remove os dados persistentes da pessoa instigadora quando um evento ocorre. |
Excluir Dados Persistentes dos Jogadores Atuais ao Receber de | Esta função limpa todos os dados persistentes de todas as pessoas presentes quando um evento ocorre. |
Salvar Estado de Todos ao Receber de | Esta função salva o estado do Interruptor para todo mundo quando um evento ocorre. |
Carregar Estado de Todos ao Receber de | Esta função carrega o estado do Interruptor para todo mundo quando um evento ocorre. |
Eventos
A Vinculação Direta de Evento usa eventos como transmissores. Um evento diz para outro dispositivo realizar uma função.
- Clique no evento desejado e depois em Selecionar Dispositivo para selecionar os Dispositivos disponíveis no menu suspenso.
- Após selecionar um dispositivo, clique em Selecionar Função para vincular este evento a uma função para o dispositivo.
- Se mais de uma função for afetada pelo evento, clique no botão Adicionar para adicionar uma linha, depois repita esses passos.
Opção | Descrição |
---|---|
Ao Ligar, Enviar Evento para | Quando o interruptor é acionado, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Ao Desligar, Enviar Evento para | Quando o interruptor é desativado, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Quando Ligado ao Conferir, Enviar Evento para | Se o interruptor estiver ligado ao conferir o estado, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Quando Desligado ao Conferir, Enviar Evento para | Se o interruptor estiver desligado ao conferir o estado, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Ao Salvar Estado, Enviar Evento para | Quando o estado do Interruptor é salvo, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Ao Alterar Estado, Enviar Evento para | Quando o estado do Interruptor muda, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Ao Carregar Estado, Enviar Evento para | Quando o estado do interruptor é carregado, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Ao Excluir, Enviar Evento para | Quando os dados persistentes do Interruptor são removidos, um evento é enviado para o dispositivo selecionado, que aciona a função escolhida. |
Como Usar o Interruptor no Verse
Você pode usar o código abaixo para controlar um Dispositivo Interruptor no Verse. Esse código mostra como usar eventos e funções da API do Dispositivo Interruptor. Modifique-o como achar necessário.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# A Verse-authored creative device that can be placed in a level
switch_device_verse_example := class(creative_device):
# Reference to the Switch Device in the level.
# In the Details panel for this Verse device,
# set this property to your Switch Device.
@editable
MySwitchDevice:switch_device = switch_device{}
# Localizable messages that you can use to set player-facing text
TurnOnInteractionText<localizes>:message = "Custom switch turned on text!"
# Runs when the device is started in a running game
OnBegin<override>()<suspends>:void=
# Example for subscribing to an event on the Creative device.
# Signaled when the switch state changes.
MySwitchDevice.StateChangesEvent.Subscribe(OnStateChanged)
# Sets the *Turn On Text* to be displayed to a user when the switch is currently off, and offers an interaction to switch it on. Clamped to 150 characters.
MySwitchDevice.SetTurnOnInteractionText(TurnOnInteractionText)
# This function runs when the player turns the switch on/off in-game because it's an event handler for StateChangesEvent.
OnStateChanged():void=
Print("Switch Device state changed.")
# Query whether this device has a single global on/off state, or has a personalized on/off state for each individual agent.
if (MySwitchDevice.IsStatePerAgent[]):
Print("Switch Device state is set to per agent.")
# This example iterates through all players in the experience to show how to do operations per player on the device.
for (Player : GetPlayspace().GetPlayers()):
# Returns the current state of this switch: true (on) or false (off). Use this overload of `GetCurrentState` when this device has *Store State Per Player* set to *Yes*.
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.")
# Returns the current state of this switch: true (on) or false (off). Use this overload of `GetCurrentState` when this device has *Store State Per Player* set to *No*.
if (MySwitchDevice.GetCurrentState[]):
Print("Current state is on.")
else:
Print("Current state is off.")
Para usar este código na sua experiência do UEFN, siga os passos a seguir.
- Arraste um Dispositivo Interruptor até sua Ilha.
- Crie um novo dispositivo do Verse com o nome switch_device_verse_example. Para ver o passo a passo, leia o artigo Criar o próprio dispositivo usando o Verse.
- No Visual Studio Code, abra switch_device_verse_example.verse e cole o código acima.
- Introduza o código e arraste seu dispositivo feito pelo Verse na sua Ilha. Veja o passo a passo em Como adicionar o dispositivo Verse ao seu nível.
- Adicione uma referência para o Dispositivo Interruptor da sua Ilha ao seu dispositivo Verse. Veja o passo a passo em Como adicionar uma referência Verse a um dispositivo criativo no seu nível.
- Salve seu projeto e clique em Executar Sessão para testá-lo.
API do Dispositivo Interruptor no Verse
Veja a Referência da API de "switch_device" para mais informações sobre como usar o Dispositivo Interruptor no Verse.