Exemple #1
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Item")
     {
         Items      it = other.GetComponent <Items>();
         Items.Type t  = it.Type1;
         GetBoost(t, it.Magnitude, it.Timer, it.Weapon);
         GameObject.Destroy(other.gameObject);
     }
 }
Exemple #2
0
    private void RemoveBoost(Items.Type stat)
    {
        audioEvent.clip = audioLib[2];
        audioEvent.Play();
        switch (stat)
        {
        case Items.Type.FIRERATE:           // necessite acces à RangedAttacks
            RangedAttack.UnboostFireRate(magnitudeBoost[stat]);
            break;

        case Items.Type.HEALTH:             // necessite acces à Health

            break;

        case Items.Type.INVICIBILITY:       // necessite acces à Health
            health.SwitchInviciblity();
            break;

        case Items.Type.MVTSPEED:
            movementSpeed -= magnitudeBoost[stat];

            break;

        case Items.Type.POWER:              // necessite acces à RangedAttacks
            RangedAttack.UnboostDamage(magnitudeBoost[stat]);
            break;

        case Items.Type.REPAIR:

            break;

        case Items.Type.WEAPON:             // necessite acces à RangedAttacks
            RangedAttack.ChangeWeapon(RangedAttack.Weapon.DEFAULT);
            break;

        default:

            break;
        }

        magnitudeBoost.Remove(stat);
        tempBoost.Remove(stat);
        memoryBoost.Remove(stat);
    }
Exemple #3
0
    private void GetBoost(Items.Type item, float magn, float tps, RangedAttack.Weapon weapon)
    {
        audioEvent.clip = audioLib[1];
        audioEvent.Play();
        //// Cas du Soin
        if (item == Items.Type.HEALTH)          // necessite acces à Health
        {
            health.Heal((int)magn);
        }

        //// ATTENTION : Modèle à adapter au systeme de weapon
        else
        {
            // on verifie si on a deja eu ce type de boost
            if (memoryBoost.Contains(item))      // Si on l'a déjà eu on refresh le timer
            {
                if (item == Items.Type.WEAPON)   // Si c'est une arme c'est un peu particulier
                {
                    if (RangedAttack.ActualWeapon != weapon)
                    {
                        RangedAttack.ChangeWeapon(weapon);
                    }
                }
                tempBoost[item] = tps;
            }
            else                                // Sinon on l'ajoute à notre base de boost

            {
                memoryBoost.Add(item);
                tempBoost.Add(item, tps);
                magnitudeBoost.Add(item, magn);



                switch (item)
                {
                case Items.Type.FIRERATE:           // necessite acces à RangedAttacks
                    RangedAttack.BoostFireRate(magn);
                    break;

                case Items.Type.INVICIBILITY:       // necessite acces à Health
                    health.SwitchInviciblity();
                    break;

                case Items.Type.MVTSPEED:
                    movementSpeed += magn;
                    break;

                case Items.Type.POWER:              // necessite acces à RangedAttacks
                    RangedAttack.BoostDamage(magn);
                    break;

                case Items.Type.REPAIR:
                    if (interdictions != 0)   // sous interdiction
                    {
                        EndPerturbation();
                    }
                    //// Possibilité de mettre un état de "non j'ai pas d'interdictions!" (necessiterai un acces au game manager...Ou pas....)
                    break;

                case Items.Type.WEAPON:             // necessite acces à RangedAttacks
                    RangedAttack.ChangeWeapon(weapon);

                    break;

                default:

                    break;
                }
            }
        }
    }