Beispiel #1
0
    void OnTriggerEnter2D(Collider2D collision)
    {
        Projectile projectile = collision.gameObject.GetComponent <Projectile>();

        if (projectile)
        {
            health -= projectile.GetDamage();
            Debug.Log("Enemy Hit");
        }
        MissileExplosion missile = collision.gameObject.GetComponent <MissileExplosion>();

        if (missile)
        {
            health -= missile.GetDamage();
        }
        if (health <= 0)
        {
            Death();
        }

        DeathZone deathzone = collision.gameObject.GetComponent <DeathZone>();

        if (deathzone)
        {
            gameObject.SetActive(false);
        }
    }
Beispiel #2
0
        public void Execute(IGameObject gameObject, IGameObject collidedWith)
        {
            Missile          missile          = (Missile)gameObject;
            MissileExplosion missileExplosion = new MissileExplosion(missile);

            Game1.GetLevel().Spawn(missileExplosion, missileExplosion.Position);
            Game1.GetLevel().Destroy(missile);
        }
 public MissileExplosionState(MissileExplosion missileExp, Missile missile)
 {
     _missileExp    = missileExp;
     Sprite         = PlayerSpriteFactory.Instance.CreateExplosion();
     Sprite.X       = (int)missile.Position.X;
     Sprite.Y       = (int)missile.Position.Y;
     Sprite.Visible = true;
 }
        public void Execute(IGameObject gameObject, IGameObject collidedWith)
        {
            Missile          missile          = (Missile)gameObject;
            IEnemy           enemy            = (IEnemy)collidedWith;
            MissileExplosion missileExplosion = new MissileExplosion(missile);

            Game1.GetLevel().Spawn(missileExplosion, missileExplosion.Position);
            Game1.GetLevel().Destroy(missile);
            enemy.TakeDamage();
        }
        public void Execute(IGameObject gameObject, IGameObject collidedWith)
        {
            ITileInteractable door    = (ITileInteractable)collidedWith;
            Missile           missile = (Missile)gameObject;

            door.OnInteract();
            MissileExplosion missileExplosion = new MissileExplosion(missile);

            Game1.GetLevel().Spawn(missileExplosion, missileExplosion.Position);
            Game1.GetLevel().Destroy(gameObject);
            SoundManager.Instance.PlaySong("rocket_door");
        }
Beispiel #6
0
    void ParticleLimits()
    {
        ParticleSystem[]            PartExpl  = new ParticleSystem[EnemyExplosions.Length - 1];
        ParticleSystem[]            PartExpl2 = new ParticleSystem[EnemyExplosions.Length - 1];
        ParticleSystem[]            PartExpl3 = new ParticleSystem[8];
        ParticleSystem.MainModule[] MainExpl  = new ParticleSystem.MainModule[EnemyExplosions.Length - 1];
        ParticleSystem.MainModule[] MainExpl2 = new ParticleSystem.MainModule[EnemyExplosions.Length - 1];
        ParticleSystem.MainModule[] MainExpl3 = new ParticleSystem.MainModule[8];     //0Player;1Missile;2RaygunA;3RaygunB;5Asteroid;4EnemyMissile
        for (int i = 1; i < PartExpl.Length + 1; i++)
        {
            PartExpl[i - 1]  = EnemyExplosions[i].GetComponent <ParticleSystem>();
            PartExpl2[i - 1] = EnemyExplosions[i].transform.GetChild(0).GetComponent <ParticleSystem>();
        }
        for (int i = 0; i < MainExpl.Length; i++)
        {
            MainExpl[i]  = PartExpl[i].main;
            MainExpl2[i] = PartExpl2[i].main;
        }

        PartExpl3[0] = PlayerExplosion.GetComponent <ParticleSystem>();
        PartExpl3[1] = MissileExplosion.GetComponent <ParticleSystem>();
        PartExpl3[2] = Players1Script.RaygunPrefab.transform.GetChild(0).GetComponent <ParticleSystem>();
        PartExpl3[3] = Players1Script.RaygunPrefab.transform.GetChild(0).transform.GetChild(0).GetComponent <ParticleSystem>();
        PartExpl3[4] = EnemyMissileExplosion.GetComponent <ParticleSystem>();
        PartExpl3[5] = EnemyExplosions[0].GetComponent <ParticleSystem>();
        PartExpl3[6] = Players2Script.RaygunPrefab.transform.GetChild(0).GetComponent <ParticleSystem>();
        PartExpl3[7] = Players2Script.RaygunPrefab.transform.GetChild(0).transform.GetChild(0).GetComponent <ParticleSystem>();

        MainExpl3[0] = PartExpl3[0].main;
        MainExpl3[1] = PartExpl3[1].main;
        MainExpl3[2] = PartExpl3[2].main;
        MainExpl3[3] = PartExpl3[3].main;
        MainExpl3[4] = PartExpl3[4].main;
        MainExpl3[5] = PartExpl3[5].main;
        MainExpl3[6] = PartExpl3[6].main;
        MainExpl3[7] = PartExpl3[7].main;

        switch (GlobalSettings.GraphicsQuality)
        {
        case 0:
            for (int i = 0; i < PartExpl.Length; i++)
            {
                MainExpl[i].maxParticles  = 400;
                MainExpl2[i].maxParticles = 40;
            }
            for (int i = 0; i < 4; i++)
            {
                MainExpl3[i].maxParticles = 400;
            }
            MainExpl3[4].maxParticles = 40;
            MainExpl3[5].maxParticles = 40;
            MainExpl3[6].maxParticles = 400;
            MainExpl3[7].maxParticles = 40;
            break;

        case 1:
            for (int i = 0; i < PartExpl.Length; i++)
            {
                MainExpl[i].maxParticles  = 100;
                MainExpl2[i].maxParticles = 15;
            }
            for (int i = 0; i < 5; i++)
            {
                MainExpl3[i].maxParticles = 100;
            }
            MainExpl3[5].maxParticles = 10;
            MainExpl3[6].maxParticles = 100;
            MainExpl3[7].maxParticles = 10;
            break;

        case 2:
            for (int i = 0; i < MainExpl.Length; i++)
            {
                MainExpl[i].maxParticles  = 10;
                MainExpl2[i].maxParticles = 1;
            }
            for (int i = 0; i < 5; i++)
            {
                MainExpl3[i].maxParticles = 30;
            }
            MainExpl3[5].maxParticles = 5;
            MainExpl3[6].maxParticles = 30;
            MainExpl3[7].maxParticles = 5;
            break;
        }
    }