Exemplo n.º 1
0
        /// <summary>
        /// Pobiera poziom naladowania danego efektu.
        /// </summary>
        /// <param name="type">Typ efektu</param>
        /// <returns>Poziom naładowania efektu. Zakres: [0 - 1]</returns>
        public float GetEffectLevel(EffectType type)
        {
            switch (type)
            {
            case EffectType.BulletTimeEffect:
                TimeEffect te = _timeEffects.Find(delegate(TimeEffect effect) { return(effect is BulletTimeEffect); });
                if (te != null)
                {
                    return(te.EffectLevel);
                }
                break;

            case EffectType.AltitudeEffect:
                AltitudeEffect ae = (AltitudeEffect)_otherEffects.Find(delegate(BaseEffect effect) { return(effect is AltitudeEffect); });
                if (ae != null)
                {
                    return(ae.EffectLevel);
                }
                break;

            default:
                throw new ArgumentException("Niepoprawny argument !", "type");
            }
            return(0.0f);
        }
Exemplo n.º 2
0
        public void Reset(Plane plane)
        {
            _timeEffects = new List <TimeEffect>();
            BulletTimeEffect bulletTimeEffect = new BulletTimeEffect(1.0f, GameConsts.Effects.BulletLoadTime, 60);

            bulletTimeEffect.LevelEffectChange += new LevelEffectChangeHandler(BulletTimeEffectLevelEffectChange);
            _timeEffects.Add(bulletTimeEffect);

            AltitudeEffect altitudeEffect = new AltitudeEffect(plane);

            _otherEffects = new List <BaseEffect>();
            _otherEffects.Add(altitudeEffect);
        }