public WBIBackgroundConverter GetBackgroundConverter(WBIOmniConverter converter) { if (backgroundConverters.ContainsKey(converter.ID)) { return(backgroundConverters[converter.ID]); } return(null); }
public void UnregisterBackgroundConverter(WBIOmniConverter converter) { if (!IsRegistered(converter)) { return; } if (backgroundConverters.ContainsKey(converter.ID)) { backgroundConverters.Remove(converter.ID); } }
public void RegisterBackgroundConverter(WBIOmniConverter converter) { WBIBackgroundConverter backgroundConverter = new WBIBackgroundConverter(); if (IsRegistered(converter)) { backgroundConverter = GetBackgroundConverter(converter); backgroundConverter.GetConverterData(converter); backgroundConverter.IsActivated = converter.IsActivated; backgroundConverter.isMissingResources = false; backgroundConverter.isContainerFull = false; backgroundConverter.vesselID = converter.part.vessel.id.ToString(); UpdateBackgroundConverter(backgroundConverter); return; } backgroundConverter.vesselID = converter.part.vessel.id.ToString(); backgroundConverter.GetConverterData(converter); backgroundConverters.Add(backgroundConverter.converterID, backgroundConverter); }
public bool IsRegistered(WBIOmniConverter converter) { return(backgroundConverters.ContainsKey(converter.ID)); }
public void GetConverterData(WBIOmniConverter converter) { this.converterID = converter.ID; this.ConverterName = converter.ConverterName; this.vesselID = converter.part.vessel.id.ToString(); this.hoursPerCycle = converter.hoursPerCycle; this.minimumSuccess = converter.minimumSuccess; this.criticalSuccess = converter.criticalSuccess; this.criticalFail = converter.criticalFail; this.criticalSuccessMultiplier = converter.criticalSuccessMultiplier; this.failureMultiplier = converter.failureMultiplier; this.BaseEfficiency = converter.BaseEfficiency; this.UseSpecialistBonus = converter.UseSpecialistBonus; if (converter.UseSpecialistBonus) { this.ExperienceEffect = converter.ExperienceEffect; this.SpecialistEfficiencyFactor = converter.SpecialistEfficiencyFactor; this.SpecialistBonusBase = converter.SpecialistBonusBase; } else { this.SpecialistBonusBase = 0f; this.SpecialistEfficiencyFactor = 0f; this.ExperienceEffect = string.Empty; } ResourceRatio ratio; inputResourceNames = ""; inputResources.Clear(); foreach (ResourceRatio resourceRatio in converter.inputList) { if (skipReources.Contains(resourceRatio.ResourceName)) { continue; } ratio = new ResourceRatio(); ratio.ResourceName = resourceRatio.ResourceName; ratio.Ratio = resourceRatio.Ratio; ratio.FlowMode = resourceRatio.FlowMode; ratio.DumpExcess = resourceRatio.DumpExcess; this.inputResources.Add(ratio); inputResourceNames += ratio.ResourceName + ";"; } outputResourceNames = ""; outputResources.Clear(); foreach (ResourceRatio resourceRatio in converter.outputList) { if (skipReources.Contains(resourceRatio.ResourceName)) { continue; } ratio = new ResourceRatio(); ratio.ResourceName = resourceRatio.ResourceName; ratio.Ratio = resourceRatio.Ratio; ratio.FlowMode = resourceRatio.FlowMode; ratio.DumpExcess = resourceRatio.DumpExcess; this.outputResources.Add(ratio); outputResourceNames += ratio.ResourceName + ";"; } requiedResourceNames = ""; requiredResources.Clear(); foreach (ResourceRatio resourceRatio in converter.reqList) { if (skipReources.Contains(resourceRatio.ResourceName)) { continue; } ratio = new ResourceRatio(); ratio.ResourceName = resourceRatio.ResourceName; ratio.Ratio = resourceRatio.Ratio; ratio.FlowMode = resourceRatio.FlowMode; ratio.DumpExcess = resourceRatio.DumpExcess; this.requiredResources.Add(ratio); requiedResourceNames += ratio.ResourceName + ";"; } yieldResourceNames = ""; yieldResources.Clear(); foreach (ResourceRatio resourceRatio in converter.yieldResources) { if (skipReources.Contains(resourceRatio.ResourceName)) { continue; } ratio = new ResourceRatio(); ratio.ResourceName = resourceRatio.ResourceName; ratio.Ratio = resourceRatio.Ratio; ratio.FlowMode = resourceRatio.FlowMode; ratio.DumpExcess = resourceRatio.DumpExcess; this.yieldResources.Add(ratio); yieldResourceNames += ratio.ResourceName + ";"; } }