Canvas - ChristianDominguezVicente/TFM GitHub Wiki

Canvas

Actualmente, el canvas se compone de:

  • PlayerInteractUI: Cuando el jugador esta cerca de un objecto interactuable o poseíble, aparece una referencia que le indica como interactuar o poseer el objeto.
  • PossesBar: Barra que indica el tiempo de posesión.
  • DialogueSystem: Cuando el jugador esta manteniendo una conversación, aparece una interfaz de dialogo con un menú para poder interactuar con él.

PlayerInteractUI

Este script mostrará dinámicamente el texto de interacción en pantalla cuando el jugador se acerque a un objeto interactuable o poseíble.

En primer lugar, obtendrá el controlador actual del PossessionManager, llamando a la función GetInteractuables para ver si hay algún objeto interactuable cerca:

  • Si hay uno: muestra el texto con la función Show().
  • Si no: oculta la UI con la función Hide().

El script se encuentra en /Assets/Scripts.

DialogueHistory

Este script gestiona el histórico de todos los diálogos que ha participado o visto el jugador.

  • AddLine: Añade una línea al histórico, "Nombre: Texto".
  • AddSeparator: Añade una línea vacía como separador visual entre distintas conversaciones.
  • GetHistory: Devuelve el histórico completo.
  • Clear: Borra el histórico.

El script se encuentra en /Assets/Scripts.

ChoicesUI

Este script gestiona la UI de selección de respuestas en el sistema de diálogo cuando se le hace una pregunta al jugador.

  • Show: Muestra el panel de respuestas, limpiando mediante Clear() las respuestas anteriores. Creará tantos botones como respuestas haya en esta pregunta. Actualiza el panel de respuestas mediante UpdatePanel(), cambiando el color al botón que este seleccionado al principio, siendo el primero debido a que es el índice 0.
  • MoveSelection: Cambia la opción seleccionada al pulsar el jugador arriba o abajo. Si sale del rango, generá un bucle, empezando por el índice contrario. Por último, llamará a UpdatePanel() para actualizar el panel.
  • Hide: Oculta el panel de opciones, limpiando las respuestas anteriores al llamar a Clear().
  • Clear: Elimina todas las respuestas anteriores del panel.
  • UpdatePanel: Actualiza el color de los botones dependiendo de si está seleccionado o no.

El script se encuentra en /Assets/Scripts.