/// <summary> /// <para>Mueve el panel con una transicion</para> /// </summary> /// <param name="obj"></param> /// <param name="pos"></param> private void MoverPanel(PanelConversacion obj, string pos) // Mueve el panel con una transicion { // Setup y iniciar transicion transicion = obj.panel.SetPosicion(pos, true); transicion.duration = 0.5f; transicion.equation = EasingEquations.EaseOutQuad; }
/// <summary> /// <para>Inicia la secuencia de la conversacion</para> /// </summary> /// <param name="data">Data de la conversacion</param> /// <returns></returns> public IEnumerator Secuencia(ConversacionData data) // Inicia la secuencia de la conversacion { // Recorrer la secuencia de conversacion for (int n = 0; n < data.list.Count; n++) { // Obtener datos DialoguerData sd = data.list[n]; PanelConversacion panelActual = (sd.anchor == TextAnchor.UpperLeft || sd.anchor == TextAnchor.MiddleLeft || sd.anchor == TextAnchor.LowerLeft) ? panelIzquierda : panelDerecha; IEnumerator actual = panelActual.InitDialogo(sd); actual.MoveNext(); string mostrar, ocultar; // Comprobar estado if (sd.anchor == TextAnchor.UpperLeft || sd.anchor == TextAnchor.UpperCenter || sd.anchor == TextAnchor.UpperRight) { mostrar = MostrarArriba; ocultar = OcultarArriba; } else { mostrar = MostrarAbajo; ocultar = OcultarAbajo; } // Transicion panelActual.panel.SetPosicion(ocultar, false); MoverPanel(panelActual, mostrar); yield return(null); while (actual.MoveNext()) { yield return(null); } // Transicion MoverPanel(panelActual, ocultar); transicion.completedEvent += delegate(object sender, EventArgs e) { conversacion.MoveNext(); }; yield return(null); } // Desactivar la conversacion canvas.gameObject.SetActive(false); // Mandar evento completado if (EventoCompletado != null) { EventoCompletado(this, EventArgs.Empty); } }