/// <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);
            }
        }