Пример #1
0
    // Use this for initialization
    void Start()
    {
        SpriteRenderer spriteItem = this.GetComponentInChildren <SpriteRenderer>();

        spriteItem.sprite = spritesItems[0];

        type = ((Type)Random.Range(0, 7));
        spriteItem.transform.localScale = new Vector3(7f, 7f, 1);
        switch (Type1)
        {
        case Items.Type.FIRERATE:           // necessite acces à RangedAttacks
            Magnitude         = 0.25f;
            spriteItem.sprite = spritesItems[5];
            break;

        case Items.Type.HEALTH:             // necessite acces à Health
            Magnitude         = 50;
            spriteItem.sprite = spritesItems[0];
            break;

        case Items.Type.INVICIBILITY:       // necessite acces à Health
            spriteItem.sprite = spritesItems[1];
            timer             = 5;
            break;

        case Items.Type.MVTSPEED:
            spriteItem.sprite = spritesItems[2];
            Magnitude         = 25;

            break;

        case Items.Type.POWER:              // necessite acces à RangedAttacks
            spriteItem.sprite = spritesItems[3];
            Magnitude         = 0.35f;

            break;

        case Items.Type.REPAIR:
            spriteItem.sprite = spritesItems[4];
            break;

        case Items.Type.WEAPON:             // necessite acces à RangedAttacks
            spriteItem.transform.localScale = new Vector3(1.5f, 1.5f, 1);
            weapon = ((RangedAttack.Weapon)Random.Range(1, 3));
            switch (weapon)
            {
            case RangedAttack.Weapon.SHOTGUN:
                spriteItem.sprite = spritesWeapon[1];
                break;

            case RangedAttack.Weapon.MACHINEGUN:
                spriteItem.sprite = spritesWeapon[2];
                break;
            }
            break;

        default:

            break;
        }
    }
Пример #2
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;
                }
            }
        }
    }