/// <summary> /// Borra varias respuestas /// </summary> /// <param name="respuestas">array de tipo RespuestaNPCBase</param> public void BorrarRespuesta(RespuestaNPCBase[] respuestas) { foreach (RespuestaNPCBase respuesta in respuestas) { conversacionInteractuable.Remove(respuesta); } }
/// <summary> /// Añade varias respuestas a la conversacion /// </summary> /// <param name="respuestas">array de tipo RespuestaNPCBase</param> public void AddRespuesta(RespuestaNPCBase[] respuestas) { conversacionInteractuable.AddRange(respuestas); }
/// <summary> /// Borra una respuesta /// </summary> /// <param name="respuesta">respuesta tipo RespuestaNPCBase</param> public void BorrarRespuesta(RespuestaNPCBase respuesta) { conversacionInteractuable.Remove(respuesta); }
/// <summary> /// Añade una respuesta a la conversacion /// </summary> /// <param name="respuesta">respuesta tipo RespuestaNPCBase</param> public void AddRespuesta(RespuestaNPCBase respuesta) { conversacionInteractuable.Add(respuesta); }
/// <summary> /// Constructor sobrecargado de la Clase /// </summary> /// <param name="nombre">nombre del interactuable</param> /// <param name="respuestas">array de tipo RespuestaNPCBase de respuestas a mostrar del interactuable</param> /// <param name="idComienzo">valor entero que marca cual sera la RespuestaNPCBase donde comenzara la conversacion</param> public InteractuableGenerico(string nombre, RespuestaNPCBase[] respuestas, int idComienzo) { Inicializar_Listas (); this.nombre = nombre; inicioConversacion = idComienzo; AddRespuesta(respuestas); }
/// <summary> /// Constructor sobrecargado de la Clase /// </summary> /// <param name="nombre">nombre del interactuable</param> /// <param name="respuestas">array de tipo RespuestaNPCBase de respuestas a mostrar del personaje</param> public InteractuableGenerico(string nombre, RespuestaNPCBase[] respuestas) { Inicializar_Listas (); this.nombre = nombre; AddRespuesta(respuestas); }
/// <summary> /// Constructor sobrecargado de la Clase /// </summary> /// <param name="respuestas">array de tipo RespuestaNPCBase de respuestas a mostrar del interactuable</param> public InteractuableGenerico(RespuestaNPCBase[] respuestas) { Inicializar_Listas (); AddRespuesta(respuestas); }
public void Reestructurar_Respuestas(int numeroPregunta, bool inicio) { PreguntaUsuarioBase pregunta = new PreguntaUsuarioBase(); if (inicio) nuevaRespuesta = GameCenter.InstanceRef.controladoraJuego.interactuablePulsado.Devolver_Respuesta (numeroPregunta); else { pregunta = GameCenter.InstanceRef.controladoraJuego.interactuablePulsado.Devolver_Pregunta (numeroPregunta); pregunta.PreguntaEjecutada = true; if (GameCenter.InstanceRef.controladoraJuego.interactuablePulsado.PreguntaConTirada (numeroPregunta)) { int valorHabilidad = GameCenter.InstanceRef.controladoraJuego.jugadorActual.HabilidadesJugador.Devolver_Valor_Segun_Enum (pregunta.ComprobacionHabilidad); int resultado = GameCenter.InstanceRef.controladoraJuego.Lanzar_Dados ("1D100"); pregunta.IdRespuestaNPC = (resultado < valorHabilidad) ? pregunta.IdRespuestaAcierto : pregunta.IdRespuestaFallo; } nuevaRespuesta = GameCenter.InstanceRef.controladoraJuego.interactuablePulsado.Devolver_Respuesta (pregunta.IdRespuestaNPC); } //Si existe respuesta if (nuevaRespuesta != null) { Blanquear_Texto_Lateral ("yellow", "white"); //Si el texto lateral esta vacio if (textoLateral.text != string.Empty) { float anteriorSizeCajaTexto = textoLateralOpciones.rectCajaTexto.rect.height; if(pregunta.TextoPregunta != null) Insertar_Ventana_Lateral_Texto (pregunta.TextoPregunta, colorTexto.verde, tipoTexto.negrita); Insertar_Ventana_Lateral_Texto (nuevaRespuesta.TextoRespuesta, colorTexto.amarillo); Deslizar_Ventana_Lateral (anteriorSizeCajaTexto); } //Si el texto lateral no esta vacio else Insertar_Ventana_Lateral_Texto (nuevaRespuesta.TextoRespuesta, colorTexto.amarillo); //Comprobacion si la respuesta tiene un desbloqueo o accion asociada if(nuevaRespuesta.Comprobacion) { //Desbloqueo de localizacion if(nuevaRespuesta.LocalizacionSeleccionada != Localizaciones.Ninguna) { if(!GameCenter.InstanceRef.controladoraJuego.jugadorActual.LocalizacionesDescubiertas.Contains(nuevaRespuesta.LocalizacionSeleccionada)) { Insertar_Ventana_Lateral_Texto(nuevaRespuesta.LocalizacionSeleccionada, colorTexto.verde); GameCenter.InstanceRef.controladoraJuego.jugadorActual.AddLocalizacionDescubierta(nuevaRespuesta.LocalizacionSeleccionada); } } } //Comprobacion de que la respuesta no tiene pregunta asociada y vuelve a una pregunta anterior if(nuevaRespuesta.SinRespuesta) nuevaRespuesta = GameCenter.InstanceRef.controladoraJuego.interactuablePulsado.Devolver_Respuesta (nuevaRespuesta.DireccionRespuesta); //Generamos las preguntas asociadas a la respuesta listaPreguntas.Generar_Preguntas (Filtrar_Preguntas (nuevaRespuesta.MostrarPreguntas ())); } //Sino existe respuesta else { Vaciar_Texto_Lateral(); Vaciar_Panel_Preguntas(); textoInferiorOpciones.gameObject.SetActive (true); panelPreguntasOpciones.gameObject.SetActive (false); panelObjetosOpciones.Activar ("Hablar"); } }