private int index = 0;                                  // Index
        #endregion

        #region Estados
        /// <summary>
        /// <para>Cuando se entra en el estado</para>
        /// </summary>
        public override void Enter()        // Cuando se entra en el estado
        {
            base.Enter();
            areaHabilidad = Turno.habilidad.GetComponent <AreaHabilidad>();
            areas         = areaHabilidad.GetAreasEnArea(Grid, Pos);
            Grid.SeleccionarAreas(areas);
            BuscarObjetivos();
            ActualizarPanelInfoUnidad(Turno.unidad.Area.pos);

            if (Turno.objetivos.Count > 0)
            {
                if (control.Actual == Controladores.Humano)
                {
                    PanelIndicadorAcierto.Mostrar();
                }
                SetObjetivo(0);
            }
            if (control.Actual == Controladores.Maquina)
            {
                StartCoroutine(IAConfirmarObjetivo());
            }
        }
Esempio n. 2
0
        /// <summary>
        /// <para>Analiza la localizacion del ataque</para>
        /// </summary>
        /// <param name="plan"></param>
        /// <param name="opcionAtq"></param>
        private void AnalizarLocalizacionAtaque(PlanDeAtaque plan, OpcionAtaque opcionAtq)        // Analiza la localizacion del ataque
        {
            // Obtener datos
            AreaHabilidad area  = plan.habilidad.GetComponent <AreaHabilidad>();
            List <Area>   areas = area.GetAreasEnArea(freya.grid, opcionAtq.objetivo.pos);

            // Obtener objetivos y habilidades
            opcionAtq.areaObjetivos   = areas;
            opcionAtq.isAreaPeligrosa = IsHabilidadRealizable(plan, Unidad.Area);

            // Analizar areas
            for (int n = 0; n < areas.Count; n++)
            {
                Area areaAnali = areas[n];
                if (Unidad.Area == areas[n] || !plan.habilidad.IsTarget(areaAnali))
                {
                    continue;
                }

                // Comprobar si es realizable la habilidad y fijarla
                bool isRealizable = IsHabilidadRealizable(plan, areaAnali);
                opcionAtq.AddMarca(areaAnali, isRealizable);
            }
        }