Esempio n. 1
0
 public override bool Eliminate(eEliminateDef eliminateType = eEliminateDef.ForcedDelete)
 {
     _curHp = 0;
     if (base.Eliminate(eliminateType))
     {
         if (eliminateType != eEliminateDef.ForcedDelete)
         {
             SoundManager.GetInstance().Play("killenemy", 0.1f, false, true);
             if (_cfg.eliminatedEffectStyle != 0)
             {
                 STGEnemyEliminatedEffect effect = EffectsManager.GetInstance().CreateEffectByType(EffectType.EnemyEliminated) as STGEnemyEliminatedEffect;
                 effect.SetEliminateEffectStyle(_cfg.eliminatedEffectStyle);
                 effect.SetPosition(_curPos.x, _curPos.y);
             }
         }
         if (eliminateType != eEliminateDef.ForcedDelete && eliminateType != eEliminateDef.CodeRawEliminate)
         {
             if (_dropItemDatas != null)
             {
                 DropItems();
             }
         }
         return(true);
     }
     return(false);
 }
Esempio n. 2
0
    public STGEffectBase CreateEffectByType(EffectType type)
    {
        STGEffectBase effect = GetEffectFromPool(type);

        if (effect == null)
        {
            switch (type)
            {
            case EffectType.SpriteEffect:
                effect = new STGSpriteEffect();
                break;

            case EffectType.ShakeEffect:
                effect = new ShakeEffect();
                break;

            case EffectType.BreakScreenEffect:
                effect = new STGBreakScreenEffect();
                break;

            case EffectType.BurstEffect:
                effect = new STGBurstEffect();
                break;

            case EffectType.ChargeEffect:
                effect = new STGChargeEffect();
                break;

            case EffectType.BulletEliminate:
                effect = new STGBulletEliminateEffect();
                break;

            case EffectType.EnemyEliminated:
                effect = new STGEnemyEliminatedEffect();
                break;

            case EffectType.PlayerDeadEffect:
                effect = new STGPlayerDeadEffect();
                break;
            }
        }
        if (effect != null)
        {
            effect.Init();
            _effectList.Add(effect);
            _effectsCount++;
        }
        return(effect);
    }