States y conditions
Gestionando los states de los items y la lógica condicional
Lógica condicional
Añade condiciones a un trigger, de modo que la acción solo ocurra si se cumplen esas condiciones. Por ejemplo, hacer clic en una puerta solo activa la acción "Open" si aún no estaba abierta.
Para añadir una condición, haz clic en el ícono de los tres puntos junto a Trigger event y selecciona Add Trigger Condition.

Un solo trigger puede incluir múltiples condiciones. Haz clic en el + ícono para añadir más condiciones. Cuando existe más de una condición, puedes seleccionar una de estas opciones:
Todas las condiciones deben cumplirse (AND): El trigger solo ocurre si todas y cada una de las condiciones son verdaderas.
Cualquier condición puede cumplirse (OR) El trigger ocurre si al menos una de las condiciones es verdadera.

States
El States componente se incluye en varios smart items. Enumera los posibles estados en los que puede estar el smart item. En cualquier momento dado, el smart item está en uno de estos estados. Por ejemplo, una puerta puede estar Open o Cerrada. La acción Open establece el estado en Open, la acción Close establece el estado en Cerrada.
Puedes hacer lo siguiente con los estados:
Usa una condición en un trigger para comprobar el estado de una Entity. De esa manera, la acción solo se lleva a cabo si un estado específico está activo.

Cambia un estado mediante el Set State action.

Reacciona a los cambios de estado mediante el On State Change trigger event.
Para alternar entre dos acciones, define dos triggers, cada uno con una condición que compruebe un estado. Por ejemplo, las puertas tienen un trigger que activa la acción Open, con una condición que primero comprueba que el estado de la puerta es Cerrada, y otro trigger que activa la acción Close, con una condición que comprueba que el estado de la puerta es Open. Solo uno de los dos se activa cada vez que el jugador hace clic en la puerta.

Puedes añadir tantos estados como quieras a un smart item. Solo haz clic en el Add New State button para añadir otro a la lista.

Uno de los estados se selecciona como predeterminado; el item siempre comenzará en este estado cuando se ejecute la scene. Puedes asignar otro estado como predeterminado haciendo clic en los tres puntos junto a otro de los estados y seleccionando Set as Default.
💡 Consejo: Mantén simples las interacciones entre items. Por ejemplo, evita escenarios como tener un button que abre una puerta activando tres acciones: reproducir la animación de la puerta, reproducir el sonido de la puerta y cambiar el estado de la puerta. En su lugar, haz que el button cambie el estado de la puerta. Luego usa un On State Change trigger para que la propia puerta se encargue de reproducir la animación y el sonido cada vez que cambie el estado.
Counter
Usa la Counter componente para llevar un registro de un número, que puede cambiar a medida que el jugador realiza acciones en la scene. Puedes usar los valores del contador en la lógica condicional.
Cuando una Entity tiene un componente Counter, puedes ejecutar las siguientes acciones sobre ella:
Increment Counter: Incrementa el valor del contador en 1.
Decrease Counter: Disminuye el valor del contador en 1.
Set Counter: Establece el valor del contador en un número específico, por ejemplo para volver a ponerlo en 0.
Usa la On Counter Change trigger para realizar una acción cada vez que cambie el valor del contador. Añade una condición a este trigger para que solo se active después de superar un cierto umbral.

En una condición, puedes comprobar si el valor del contador es
Mayor que un valor dado
Menor que un valor dado
Igual a un valor dado
💡 Consejo: Para comprobar si es mayor o igual, puedes añadir dos condiciones al trigger event, usando la opción AND.
Para hacer que una acción ocurra solo una vez al superar un umbral, y no se repita en cada incremento posterior, combina el contador con un State componente. Establece el estado en "Done" cada vez que alcances el valor deseado, y añade una condición para comprobar este estado en el trigger event.
Ver también
Última actualización