Пример #1
0
    public void EliminarEfecto(parametrosHabilidad parametros)
    {
        Debug.LogWarning("No manches, sanación no necesita removerse");

        /*int nuevaArmadura = configuracion.ObtenerArmaduraExtra();
         * parametros.objetivo.armadura.RemoverModificador(nuevaArmadura);*/
    }
Пример #2
0
    public void EjecutaHabilidad(StatsPersonajes statsobjetivo, int indiceHabilidad) //Método que realiza los efectos de las habilidades, tomando como parametros los stats del objetivo, y el indice de la habilidad a realizar..
    {
        var manaComponente = GetComponent <Mana>();                                  //Obtengo el componente mana de mi jugador, y lo almaceno en una variable para poder acceder a sus métodos.

        float costeMana = habilidadesEnBarra[indiceHabilidad].ObtenerCosteMana();    //Obtengo el coste de mana de la habilidad a realizar.

        //TO-DO necestiamos el método "AunHayEnergia" lea el argumento desde las propiedades de la habilidad. TO-DO.
        if (manaComponente.AunHayEnergia(costeMana)) //Después evaluo si hay suficiente energía para castear la habilidad con mi método que me regresa un bool "AunHayEnergia".
        {
            //manaComponente.UsarMana(costeMana); //Accedo al componente de mana, y ejecuto el método "UsarMana" que toma como argumento el mana que necesita la habilidad (costeMana).

            EstablecerIconoHabilidadPresionado(indiceHabilidad);

            var parametrosHabilidad = new parametrosHabilidad(statsobjetivo);                     //Creo una estructura llamado "parametrosHabilidad" que será igual a un nuevo constructo que toma los valors de "statsObjetivo".
            habilidadesEnBarra[indiceHabilidad].Usar(parametrosHabilidad);                        //Accedo al método usar de mi habilidad, que toma como parametro una estructura de variable "parametrosHabilidad".
            habilidadesEnBarra[indiceHabilidad].ejecutandose     = true;                          //Establecemos que la habilidad 1 se está ejecutando.
            habilidadesEnBarra[indiceHabilidad].coolDownActivado = true;                          //Establecemos que la habilidad 1 se está ejecutando.
            coolDownHabilidades[indiceHabilidad] = habilidadesEnBarra[indiceHabilidad].coolDown0; //Establece el cooldown de la habilidad.
            duracionHabilidades[indiceHabilidad] = habilidadesEnBarra[indiceHabilidad].duracion;  //La duración será igual a la duración de mi habilidad.
        }

        else
        {
            Debug.Log("No hay suficiente mana");
        }
    }
Пример #3
0
    public void Usar(parametrosHabilidad parametros)          //Método que realiza la modificacion de los stats.
    {
        ManejadorMusica.instancia.Reproducir("Power Up");     //Reproduce el sonido de "Power Up".

        int saludAñadida = configuracion.ObtenerSaludExtra(); //Nueva armadura será igual al método "ObtenerArmadura..." de mi variable "configuración".

        parametros.objetivo.RecibirSanacion(saludAñadida);    //Accedo a la armadura de mi objetivo a través de mi estructura de parametros, y ejecuto su método "AñadirModificador" que toma como argumento la "nuevaArmadura".
        float tiempoHabilidadUtilizada = Time.time;
    }
Пример #4
0
    public void Usar(parametrosHabilidad parametros)                   //Método que realiza la modificacion de los stats.
    {
        ManejadorMusica.instancia.Reproducir("Power Up");              //Reproduce el sonido de "Power Up".
        Debug.Log("Armadura base: " + parametros.armaduraBase + ". Usada por: " + gameObject.name);
        int nuevaArmadura = configuracion.ObtenerArmaduraExtra();      //Nueva armadura será igual al método "ObtenerArmadura..." de mi variable "configuración".

        parametros.objetivo.armadura.AñadirModificador(nuevaArmadura); //Accedo a la armadura de mi objetivo a través de mi estructura de parametros, y ejecuto su método "AñadirModificador" que toma como argumento la "nuevaArmadura".
        float tiempoHabilidadUtilizada = Time.time;
    }
Пример #5
0
    IEnumerator EliminaEfectoHabilidad(StatsPersonajes statsobjetivo, int indiceHabilidad) //Corutina que elimina el efecto de la habilidad, después de que su duración (en segundos) ha pasado...
    {
        float duracion            = habilidadesEnBarra[indiceHabilidad].ObtenerDuracionEfecto();
        var   parametrosHabilidad = new parametrosHabilidad(statsobjetivo); //Obtengo los parametros de mi objetivo.

        //Obtengo su duración al acceder a las propiedades de su clase (En mi arreglo "habilidades").
        yield return(new WaitForSeconds(duracion)); //Establezco que después de los segundos de duración...


        habilidadesEnBarra[indiceHabilidad].EliminarEfecto(parametrosHabilidad); //Accedo al método "EliminarEfecto" que toma los parametros del objetivo.
        habilidadesEnBarra[indiceHabilidad].ejecutandose       = false;          //Establezco que mi habilidad ya no se está ejecutando. (Debido a que su efecto se ha disipado).
        habilidadesEnBarra[indiceHabilidad].iconoYaEstablecido = false;          //Establece que mi icono NO está establecido, porque el efecto de la habilidad ya se eliminó.
        Destroy(iconosDuracionHabilidad[indiceHabilidad]);                       //Elimina el gráfico del efecto de habilidad.
    }
Пример #6
0
 public void EliminarEfecto(parametrosHabilidad parametros)
 {
     iComportamiento.EliminarEfecto(parametros);
 }
Пример #7
0
 public void Usar(parametrosHabilidad parametros) //Método usar que toma como argumento un constructo del tipo "parametrosHabilidad".
 {
     iComportamiento.Usar(parametros);            //Accede al método "Usar" de mi interfaz "iComportamiento", pasandole como argumento los parametros del método.
     //He de decir que los valores de "iComportamiento" se establecen en las clases derivadas a "Habilidad" (Como "Armadura" o "Sanación").
 }
Пример #8
0
    public void EliminarEfecto(parametrosHabilidad parametros)
    {
        int nuevaArmadura = configuracion.ObtenerArmaduraExtra();

        parametros.objetivo.armadura.RemoverModificador(nuevaArmadura);
    }