Exemple #1
0
        /// <summary>
        /// <para>Indica si el angulo de ataque es un factor importante</para>
        /// </summary>
        /// <param name="habilidad"></param>
        /// <returns></returns>
        private bool IsAnguloHabilidadImportante(Habilidad habilidad)        // Indica si el angulo de ataque es un factor importante
        {
            bool isAnguloImportante = false;

            for (int n = 0; n < habilidad.transform.childCount; n++)
            {
                TasaExito acierto = habilidad.transform.GetChild(n).GetComponent <TasaExito>();
                if (acierto.IsAngulo)
                {
                    isAnguloImportante = true;
                    break;
                }
            }
            return(isAnguloImportante);
        }
        /// <summary>
        /// <para>Actualiza la tasa de exito de la UI</para>
        /// </summary>
        private void ActualizarTasaExitoUI()        // Actualiza la tasa de exito de la UI
        {
            int       cambio   = 0;
            int       valor    = 0;
            Area      objetivo = Turno.objetivos[index];
            Transform obj      = Turno.habilidad.transform;

            for (int n = 0; n < obj.childCount; n++)
            {
                EfectoHabilidadObjetivo objetivoHab = obj.GetChild(n).GetComponent <EfectoHabilidadObjetivo>();
                if (objetivoHab.IsTarget(objetivo))
                {
                    TasaExito tasaExito = objetivoHab.GetComponent <TasaExito>();
                    cambio = tasaExito.Calcular(objetivo);

                    BaseEfectoHabilidad efecto = objetivoHab.GetComponent <BaseEfectoHabilidad>();
                    valor = efecto.Predecir(objetivo);
                    break;
                }
            }

            PanelIndicadorAcierto.SetStats(cambio, valor);
        }