// specifics support public Specifics Specs() { Specifics specs = new Specifics(); specs.add("Havest size", Lib.HumanReadableAmount(crop_size, " " + crop_resource)); specs.add("Harvest time", Lib.HumanReadableDuration(1.0 / crop_rate)); specs.add("Lighting tolerance", Lib.HumanReadableFlux(light_tolerance)); if (pressure_tolerance > double.Epsilon) { specs.add("Pressure tolerance", Lib.HumanReadablePressure(Sim.PressureAtSeaLevel() * pressure_tolerance)); } if (radiation_tolerance > double.Epsilon) { specs.add("Radiation tolerance", Lib.HumanReadableRadiation(radiation_tolerance)); } specs.add("Lamps EC rate", Lib.HumanReadableRate(ec_rate)); specs.add(string.Empty); specs.add("<color=#00ffff>Required resources</color>"); foreach (ModuleResource input in resHandler.inputResources) { specs.add(input.name, Lib.BuildString("<color=#ff0000>", Lib.HumanReadableRate(input.rate), "</color>")); } specs.add(string.Empty); specs.add("<color=#00ffff>By-products</color>"); foreach (ModuleResource output in resHandler.outputResources) { specs.add(output.name, Lib.BuildString("<color=#00ff00>", Lib.HumanReadableRate(output.rate), "</color>")); } return(specs); }
// specifics support public Specifics Specs() { Specifics specs = new Specifics(); specs.Add("Harvest size", Lib.HumanReadableAmount(crop_size, " " + crop_resource)); specs.Add("Harvest time", Lib.HumanReadableDuration(1.0 / crop_rate)); specs.Add("Lighting tolerance", Lib.HumanReadableFlux(light_tolerance)); if (pressure_tolerance > double.Epsilon) { specs.Add("Pressure tolerance", Lib.HumanReadablePressure(Sim.PressureAtSeaLevel() * pressure_tolerance)); } if (radiation_tolerance > double.Epsilon) { specs.Add("Radiation tolerance", Lib.HumanReadableRadiation(radiation_tolerance)); } specs.Add("Lamps EC rate", Lib.HumanReadableRate(ec_rate)); specs.Add(string.Empty); specs.Add("<color=#00ffff>Required resources</color>"); // do we have combined WasteAtmosphere and CO2 Set_WACO2(); bool dis_WACO2 = false; foreach (ModuleResource input in resHandler.inputResources) { // combine WasteAtmosphere and CO2 if both exist if (WACO2 && (input.name == "WasteAtmosphere" || input.name == "CarbonDioxide")) { if (dis_WACO2) { continue; } ModuleResource sec; if (input.name == "WasteAtmosphere") { sec = resHandler.inputResources.Find(x => x.name.Contains("CarbonDioxide")); } else { sec = resHandler.inputResources.Find(x => x.name.Contains("WasteAtmosphere")); } specs.Add("CarbonDioxide", Lib.BuildString("<color=#ffaa00>", Lib.HumanReadableRate(input.rate + sec.rate), "</color>")); specs.Add("Crops can also use the CO2 in the atmosphere without a scrubber."); dis_WACO2 = true; } else { specs.Add(input.name, Lib.BuildString("<color=#ffaa00>", Lib.HumanReadableRate(input.rate), "</color>")); } } specs.Add(string.Empty); specs.Add("<color=#00ffff>By-products</color>"); foreach (ModuleResource output in resHandler.outputResources) { specs.Add(output.name, Lib.BuildString("<color=#00ff00>", Lib.HumanReadableRate(output.rate), "</color>")); } return(specs); }