示例#1
0
        private void Converge()
        {
            Converged = true;

            Vector3 pos = CurrentPosition;

            Damage = baseDamageAfterConverge;
            Vector3 boostedVelocity = InitialWeaponDirection * boostedSpeed;

            Velocity = boostedVelocity;
            Vector3 convergePos = TargetConvergeLocation;

            Position = convergePos;

            Instantiate(sonicBoomEffect, convergePos, transform.rotation, null);
            AudioMngr.PlaySFX(sonicBoomSound, convergePos, null);

            sprRend.sprite = boostedBullet;
        }
示例#2
0
    // Use this for initialization
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            Destroy(gameObject);
        }
        DontDestroyOnLoad(gameObject);

        foreach (Sound s in sounds)
        {
            s.src      = gameObject.AddComponent <AudioSource>();
            s.src.clip = s.clip;

            s.src.volume = s.volume;
            s.src.pitch  = s.pitch;
            s.src.loop   = s.loop;
        }
    }
示例#3
0
    public override void DestroySelf(Entity destroyer, float dropModifier)
    {
        bool explode = destroyer != null;

        if (explode)
        {
            //particle effect
            for (int i = 0; i < Random.Range(debrisAmount.x, debrisAmount.y); i++)
            {
                CreateDebris(transform.position);
                CreateDust(transform.position, alpha: 0.3f);
            }

            //sound effect
            if (AudioMngr != null)
            {
                AudioMngr.PlaySFX(shatterSounds[Random.Range(0, shatterSounds.Length)], transform.position,
                                  pitch: Random.Range(shatterPitchRange.x, shatterPitchRange.y), volume: 0.25f,
                                  parent: null);
            }
        }
        EjectFromAllDrillers(true);
        base.DestroySelf(destroyer, dropModifier);
    }