Esempio n. 1
0
    /// <summary>
    /// attend avant de tirer pour soit atteindre la cible (best) ou attendre x seconde pour rajouter du random
    /// </summary>
    /// <param name="isBest">Si le tir sera réussis</param>
    /// <returns></returns>
    private IEnumerator WaitShot(bool isBest)
    {
        bool  shoot  = false;
        float offset = 0.0f;

        powerBar = GameObject.Find("powerBar").GetComponent <powerBarScript>();

        if (isBest)
        {
            // attend pour que le tir soit parfait en fonction de la power bar
            while (!shoot)
            {
                offset = powerBar.GetAmount(); //valeur de la powerbar
                if (offset > 0.4 && offset < 0.6)
                {
                    shoot = true;
                }
                else
                {
                    yield return(null);
                }
            }
        }
        else
        {
            // attend un nombre de seconde avant de tirer pour randomizer plus
            float rdm = Random.Range(1, 3);
            yield return(new WaitForSeconds(rdm));
        }
        this.GetComponents <AudioSource>()[0].Play();
        GetComponent <Launcher>().isShooting = true;
    }
Esempio n. 2
0
    //lancer le projectile
    void Launch()
    {
        //checkAABB = true; // on enclanche la détection pour regarder si la balle dépasse la boite AABB
        projectile.useGravity = true;
        float offset = powerBar.GetAmount();                      //valeur de la powerbar

        physicScript.BallisticLaunch(projectile, target, offset); //lancer le projectile avec la physique
        Invoke("DestroyProjectile", 5.0f);
    }