TDD_Canvas - ChristianDominguezVicente/TFM GitHub Wiki

Canvas

Actualmente, el canvas se compone de:

  • UI: Acciones que puede hacer el jugador que aparecen dinámicamente por pantalla:
    • PlayerInteractUI: Cuando el jugador está cerca de un objecto interactuable o poseíble, aparece una referencia que le indica como interactuar o poseer el objeto.
    • PlayerListenUI: Cuando el jugador está cerca de un objecto poseíble, aparece una referencia que le indica como escuchar al NPC.
  • PossesBar: Barra que indica el tiempo de posesión.
  • DialogueSystem: Cuando el jugador está manteniendo una conversación, aparece una interfaz de dialogo con un menú para poder interactuar con él.
  • HUD: Indicará al jugador mientras juega los controles que puede usar.
  • MenuPausa.
  • MenuOpciones.
  • MenuCargaPartida.
  • MenuGuardarPartida.
  • MenuGraficos.
  • MenuIdioma.
  • MenuRestVal.
  • MenuAudio.
  • MenuOpcionesTexto.
  • MenuTeclado.
  • MenuSM: Menú de misiones.
  • BrilloManager: Ajusta el Brillo del juego.
  • CodeUI: Cuando el jugador está introduciendo un código en un candado, aparace una interfaz para poder introducir el código.
  • Fade/FadeTutorial: Una imagen que servirá para realizar los fundidos a negro para pasar a la siguiente escena.
  • TextoManager: Configura el texto según los personajes que hablan.

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.

PlayerListenUI

Este script mostrará dinámicamente el texto de escuchar en pantalla cuando el jugador se acerque a un NPC poseíble.

En primer lugar, obtendrá el controlador actual del PossessionManager, llamando a la función GetInteractuables para ver si hay algún objeto poseíble 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", si no ha sido escrita anteriormente. También lo guarda en el sistema de guardado SaveSystemMult.
  • AddSeparator: Añade una línea vacía como separador visual entre distintas conversaciones. También lo guarda en el sistema de guardado SaveSystemMult.
  • GetHistory: Devuelve el histórico completo.
  • Clear: Borra el histórico.
  • OnLoad: Carga desde el sistema de guardado SaveSystemMult el histórico de la última sesión de juego.

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. Por otra parte, también actualiza las expresiones del Player/NPC Poseído según la respuesta seleccionada.

El script se encuentra en /Assets/Scripts.

CodeUI

Este script gestiona la UI de un candado, moviendose entre los dígitos de este:

  • Show: Muestra el panel del candado, en el cual configurará cual es el código correcto y actualizará la UI mediante UpdateVisual() para que el jugador sepa en que dígito esta en ese instante.
  • Hide: Oculta el panel del candado, limpiando cual es el código correcto.
  • Inputs: En esta función se controlarán los inputs que el jugador haga, siendo los movimientos de izquierda a derecha para moverse entre los dígitos, arriba y abajo para cambiar el valor de lo dígitos, **Interact **para comprobar si el código introducido es el correcto, y por último, **Cancel **para salir de esta interfaz.
  • IncorrectCode: Es una corrutina que cambiará por unos instantes los dígitos de color rojo, haciendo que el jugador entienda que se ha equivocado.
  • UpdateVisual: Es una función que actualiza los colores de los dígitos del candado para que sea más intuitivo.

El script se encuentra en /Assets/Scripts/Objects.