Beispiel #1
0
        protected virtual void AddExplosionOn(ExplosionTypes explosionType, Sprite sprite)
        {
            if (Explosion == null)
            {
                return;
            }

            var explosion = Explosion.Clone() as Explosion;

            explosion.Position  = sprite.Position + sprite.Velocity;
            explosion.Animation = (int)explosionType;

            Children.Add(explosion);
        }
Beispiel #2
0
        private void AddExplosion(ExplosionTypes explosionType)
        {
            if (Explosion == null)
            {
                return;
            }

            var explosion = Explosion.Clone() as Explosion;

            explosion.Position  = this.Position + this._velocity;
            explosion.Animation = (int)explosionType;

            Children.Add(explosion);
        }
Beispiel #3
0
        protected virtual void AddExplosion(ExplosionTypes explosionType)
        {
            if (Explosion == null)
            {
                return;
            }

            var explosion = Explosion.Clone() as Explosion;

            explosion.Position  = this.Position;
            explosion.Animation = (int)explosionType;

            Children.Add(explosion);
        }
Beispiel #4
0
        protected override void AddExplosion(ExplosionTypes explosionType)
        {
            if (Explosion == null)
            {
                return;
            }

            var explosion = Explosion.Clone() as Explosion;

            explosion.Position  = this.Position + this._velocity;
            explosion.Animation = (int)explosionType;

            explosion.Scale = 0.5f * (float)Math.Sqrt(Value);

            Children.Add(explosion);
        }
Beispiel #5
0
        public Explosion Copy(ExplosionTypes explosionType)
        {
            Explosion output = new Explosion();
            output._explosionType = explosionType;
            output.CollisionType = CollisionType;
            output._fixedExplosionType = true;

            output._explosionCross = _explosionCross;
            output._explosionDown = _explosionDown;
            output._explosionDownEnd = _explosionDownEnd;
            output._explosionLeft = _explosionLeft;
            output._explosionLeftEnd = _explosionLeftEnd;
            output._explosionRight = _explosionRight;
            output._explosionRightEnd = _explosionRightEnd;
            output._explosionUp = _explosionUp;
            output._explosionUpEnd = _explosionUpEnd;
            output._explosionTime = _explosionTime;

            return output;
        }
Beispiel #6
0
        protected virtual void AddExplosion(ExplosionTypes explosionType)
        {
            if (Explosion == null)
            {
                return;
            }

            var explosion = Explosion.Clone() as Explosion;

            if (!(Parent is Spirit))
            {
                explosion.Position = this.Position + this._velocity * 2;
            }
            else
            {
                explosion.Position = this.Position;
            }
            explosion.Animation = (int)explosionType;

            Children.Add(explosion);
        }
Beispiel #7
0
    public static Explosion RequestExplosion(ExplosionTypes type)
    {
        if (!pools.ContainsKey(type))
        {
            return(null);
        }

        Pool      pool = pools[type];
        Explosion e    = null;

        if (pool.pooledExplosions.Count > 0)
        {
            e = pool.pooledExplosions.Dequeue();
        }
        else
        {
            e = GameObject.Instantiate(library.explosionPrefabs[type]).GetComponent <Explosion>();
        }

        e.gameObject.SetActive(true);
        return(e);
    }
    //MakeExplosion method takes in two parameters: Transform of where the explosion should occur
    //ExplosionType takes in an ExplosionTypes enum so it plays the appropriate explosion:
    public void MakeExplosion(Transform explosionLocation, ExplosionTypes explosionTypes)
    {
        //a Switch case to Instantiate the Explosion object on the specified location, then destroy it after 2 seconds:s
        switch (explosionTypes)
        {
        case ExplosionTypes.BigExplosion:
            //Plays the small explosionSound using audio source with a volume of 0.35:
            audioSource.PlayOneShot(smallExplosionSound, 0.35f);
            Destroy(Instantiate(bigExplosion, explosionLocation.position, Quaternion.identity), 2f);
            break;

        case ExplosionTypes.SmallExplosion:
            Destroy(Instantiate(smallExplosion, explosionLocation.position, Quaternion.identity), 2f);
            break;

        case ExplosionTypes.UfoExplosion:
            //Plays the large explosionSound using audio source with a volume of 1:
            audioSource.PlayOneShot(bigExplosionSounds, 1);
            Destroy(Instantiate(ufoExplosion, explosionLocation.position, Quaternion.identity), 2f);
            break;
        }
    }