public virtual void StartConverter()
        {
            //If the drill is broken, then don't start the converter.
            if (isBroken)
            {
                if (this.part.vessel == FlightGlobals.ActiveVessel)
                {
                    BARISBridge.LogPlayerMessage(this.part.partInfo.title + BARISBridge.PartBrokenCannotStart);
                }
                StopResourceConverter();
                return;
            }

            //Update events
            Events["StartConverter"].guiActive          = false;
            Events["StartConverter"].guiActiveUnfocused = false;

            //Start the converter
            StartResourceConverter();
            qualityControl.UpdateActivationState();
            if (BARISBridge.DrillsCanFail)
            {
                qualityControl.PerformQualityCheck();
            }
        }
        public override void StartResourceConverter()
        {
            base.StartResourceConverter();
            //If the drill is broken, then don't start the converter.
            if (isBroken)
            {
                if (this.part.vessel == FlightGlobals.ActiveVessel)
                {
                    string message = this.part.partInfo.title + BARISBridge.PartBrokenCannotStart;
                    BARISBridge.LogPlayerMessage(message);
                }
                StopResourceConverter();
                return;
            }

            //Start the converter
            if (qualityControl != null)
            {
                qualityControl.UpdateActivationState();
                if (BARISBridge.ConvertersCanFail)
                {
                    qualityControl.PerformQualityCheck();
                }
            }
        }
Exemple #3
0
        protected void onRcsUpdate(bool rcsActive)
        {
            if (isBroken)
            {
                IsActive = false;
                return;
            }

            IsActive = rcsActive;
            qualityControl.UpdateActivationState();
            qualityControl.PerformQualityCheck();
        }
Exemple #4
0
        protected void setActiveConverterCount(int count)
        {
            if (qualityControl == null)
            {
                activeConverters = count;
                return;
            }

            //If the active converter count != the current count and
            //at least one converter is active, then perform a quality check
            if (activeConverters != count && count > 0)
            {
                qualityControl.PerformQualityCheck();
            }

            //Record the new count.
            activeConverters = count;

            //Wake up the qualityControl
            qualityControl.UpdateActivationState();
        }