protected override void setup_resources() { base.setup_resources(); output = ResourceLine.ParseResourcesToList(OutputResources); if (output == null) { this.ConfigurationInvalid("unable to initialize OUTPUT resources"); return; } output.ForEach(r => r.InitializePump(part, -RatesMultiplier)); //mass flow conservation var net_mf = mass_flow(input) + mass_flow(output); if (net_mf < 0) { this.ConfigurationInvalid("the mass flow of input resources is less then that of output resources"); return; } if (net_mf > 0) //initialize waste resource { var waste_res = this.GetResourceDef(WasteResource); if (waste_res == null) { return; } if (waste_res.density == 0) { this.ConfigurationInvalid("WasteResource should have non-zero density"); return; } waste = new ResourceLine(part, waste_res, -net_mf); } }
protected virtual void setup_resources() { //parse input/output resources input = ResourceLine.ParseResourcesToList(InputResources); if (input == null) { this.ConfigurationInvalid("unable to initialize INPUT resources"); return; } input.ForEach(r => r.InitializePump(part, RatesMultiplier)); }