protected PBSEffectNode()
        {
            _standingController = new PBSStandingController <PBSEffectNode>(this)
            {
                AlwaysEnabled = true
            };
            _coreUseHandler = new CoreUseHandler <PBSEffectNode>(this, new EnergyStateFactory(this));

            _currentEffect = DynamicProperties.GetProperty <int>(k.currentEffect);
            _currentEffect.PropertyChanging += (property, value) =>
            {
                var effectType = (EffectType)value;

                if (effectType == EffectType.undefined)
                {
                    effectType = AvailableEffects.FirstOrDefault();
                }

                if (!AvailableEffects.Contains(effectType))
                {
                    Logger.Error("PBSEffectNode: invalid effect type! type:" + effectType);
                }

                RemoveCurrentEffect();
                return((int)effectType);
            };

            _currentEffect.PropertyChanged += property =>
            {
                OnEffectChanged();
            };
        }
Exemplo n.º 2
0
        public PBSTurret(IStandingHandler standingHandler, PBSObjectHelper <PBSTurret> .Factory pbsObjectHelperFactory)
        {
            _standingHandler    = standingHandler;
            _pbsObjectHelper    = pbsObjectHelperFactory(this);
            _standingController = new PBSStandingController <PBSTurret>(this)
            {
                AlwaysEnabled = true
            };

            _blobHandler      = new BlobHandler <PBSTurret>(this);
            _blobEmitter      = new BlobEmitter(this);
            _reinforceHandler = new PBSReinforceHandler <PBSTurret>(this);
            _coreUseHandler   = new CoreUseHandler <PBSTurret>(this, new EnergyStateFactory(this));
        }
Exemplo n.º 3
0
 public PBSArmorRepairerNode()
 {
     _coreUseHandler = new CoreUseHandler <PBSArmorRepairerNode>(this, new EnergyStateFactory(this));
 }
 protected PBSProductionFacilityNode()
 {
     _coreUseHandler = new CoreUseHandler <PBSProductionFacilityNode>(this, new EnergyStateFactory(this));
 }
Exemplo n.º 5
0
 public PBSHighwayNode()
 {
     _coreUseHandler  = new CoreUseHandler <PBSHighwayNode>(this, new EnergyStateFactory(this));
     _corePumpHandler = new CorePumpHandler <PBSHighwayNode>(this);
 }
 public PBSFacilityUpgradeNode()
 {
     _coreUseHandler = new CoreUseHandler <PBSFacilityUpgradeNode>(this, new EnergyStateFactory(this));
 }