Beispiel #1
0
        public override void OnStart(StartState state)
        {
            base.OnStart(state);

            harvester = this.part.FindModuleImplementing <ModuleResourceHarvester>();

            drillSwitcher = this.part.FindModuleImplementing <WBIDrillSwitcher>();
            if (drillSwitcher != null)
            {
                drillSwitcher.Events["ShowDrillSwitchWindow"].guiActive          = false;
                drillSwitcher.Events["ShowDrillSwitchWindow"].guiActiveUnfocused = false;
            }

            extractionMonitor = this.part.FindModuleImplementing <WBIExtractionMonitor>();
            if (extractionMonitor != null)
            {
                extractionMonitor.Fields["extractionRateChange"].guiActive = false;
            }

            overheatDisplay = this.part.FindModuleImplementing <ModuleOverheatDisplay>();
        }
Beispiel #2
0
        public override void OnStart(StartState state)
        {
            base.OnStart(state);

            harvester = this.part.FindModuleImplementing <WBIGoldStrikeDrill>();

            drillSwitcher = this.part.FindModuleImplementing <WBIDrillSwitcher>();
            if (drillSwitcher != null)
            {
                drillSwitcher.Events["ShowDrillSwitchWindow"].guiActive          = false;
                drillSwitcher.Events["ShowDrillSwitchWindow"].guiActiveUnfocused = false;
            }

            efficiencyMonitor = this.part.FindModuleImplementing <WBIEfficiencyMonitor>();
            if (efficiencyMonitor != null)
            {
                efficiencyMonitor.Fields["efficiencyDisplayString"].guiActive = false;
            }

            overheatDisplay = this.part.FindModuleImplementing <ModuleOverheatDisplay>();
        }
Beispiel #3
0
        protected void updateDrill()
        {
            bool   enableDrill = false;
            float  value;
            string resourceName;
            ModuleResourceHarvester harvester = this.part.FindModuleImplementing <ModuleResourceHarvester>();

            //No drill? No need to proceed.
            if (harvester == null)
            {
                return;
            }

            //See if the drill is enabled.
            if (CurrentTemplate.HasValue("enableDrill"))
            {
                enableDrill = bool.Parse(CurrentTemplate.GetValue("enableDrill"));
            }

            ModuleOverheatDisplay overheat = this.part.FindModuleImplementing <ModuleOverheatDisplay>();

            if (overheat != null)
            {
                overheat.enabled   = enableDrill;
                overheat.isEnabled = enableDrill;
            }

            ModuleCoreHeat coreHeat = this.part.FindModuleImplementing <ModuleCoreHeat>();

            if (coreHeat != null)
            {
                coreHeat.enabled   = enableDrill;
                coreHeat.isEnabled = enableDrill;
            }

            WBIDrillSwitcher drillSwitcher = this.part.FindModuleImplementing <WBIDrillSwitcher>();

            if (drillSwitcher != null)
            {
                drillSwitcher.enabled   = enableDrill;
                drillSwitcher.isEnabled = enableDrill;
            }

            WBIEfficiencyMonitor extractionMonitor = this.part.FindModuleImplementing <WBIEfficiencyMonitor>();

            if (extractionMonitor != null)
            {
                extractionMonitor.enabled   = enableDrill;
                extractionMonitor.isEnabled = enableDrill;
            }

            //Update the drill
            if (enableDrill)
            {
                harvester.EnableModule();
            }
            else
            {
                harvester.DisableModule();
            }

            //Setup drill parameters
            if (enableDrill)
            {
                if (CurrentTemplate.HasValue("converterName"))
                {
                    harvester.ConverterName = CurrentTemplate.GetValue("converterName");
                }

                if (CurrentTemplate.HasValue("drillStartAction"))
                {
                    harvester.StartActionName = CurrentTemplate.GetValue("drillStartAction");
                    harvester.Events["StartResourceConverter"].guiName = CurrentTemplate.GetValue("drillStartAction");
                }

                if (CurrentTemplate.HasValue("drillStopAction"))
                {
                    harvester.StopActionName = CurrentTemplate.GetValue("drillStopAction");
                    harvester.Events["StopResourceConverter"].guiName = CurrentTemplate.GetValue("drillStopAction");
                }

                if (CurrentTemplate.HasValue("drillEficiency"))
                {
                    harvester.Efficiency = float.Parse(CurrentTemplate.GetValue("drillEficiency"));
                }

                if (CurrentTemplate.HasValue("drillResource"))
                {
                    resourceName           = CurrentTemplate.GetValue("drillResource");
                    harvester.ResourceName = resourceName;
                    harvester.Fields["ResourceStatus"].guiName = resourceName + " rate";
                }

                if (CurrentTemplate.HasValue("drillElectricCharge"))
                {
                    if (float.TryParse(CurrentTemplate.GetValue("drillElectricCharge"), out value))
                    {
                        ResourceRatio[] inputRatios = harvester.inputList.ToArray();
                        for (int inputIndex = 0; inputIndex < inputRatios.Length; inputIndex++)
                        {
                            if (inputRatios[inputIndex].ResourceName == "ElectricCharge")
                            {
                                inputRatios[inputIndex].Ratio = value;
                            }
                        }
                    }
                }

                harvester.Fields["status"].guiName = "Drill Status";
                MonoUtilities.RefreshContextWindows(this.part);
            }
        }