// Fetch input/output resources list from reactor ConfigNode protected void ParseResourcesList(Part part) { if (!resourcesListParsed) { ConfigNode node = ModuleUtils.GetModuleConfigNode(part, engineModuleName); if (node != null) { // Load resource nodes ConfigNode[] inNodes = node.GetNodes("INPUT_RESOURCE"); inputs = new List <ResourceRatio>(); for (int i = 0; i < inNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(inNodes[i]); inputs.Add(p); } ConfigNode[] outNodes = node.GetNodes("OUTPUT_RESOURCE"); outputs = new List <ResourceRatio>(); for (int i = 0; i < outNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(outNodes[i]); outputs.Add(p); } } resourcesListParsed = true; } }
public override void OnLoad(ConfigNode node) { base.OnLoad(node); /// Load resource nodes ConfigNode[] inNodes = node.GetNodes("INPUT_RESOURCE"); inputs = new List <ResourceRatio>(); for (int i = 0; i < inNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(inNodes[i]); inputs.Add(p); } ConfigNode[] outNodes = node.GetNodes("OUTPUT_RESOURCE"); outputs = new List <ResourceRatio>(); for (int i = 0; i < outNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(outNodes[i]); outputs.Add(p); } }
public override void OnLoad(ConfigNode node) { base.OnLoad(node); if (PowerGeneratedOffline) { // Process nodes ConfigNode[] inNodes = node.GetNodes("INPUT_RESOURCE"); ConfigNode[] outNodes = node.GetNodes("OUTPUT_RESOURCE"); powerInputs = new List <ResourceRatio>(); powerOutputs = new List <ResourceRatio>(); for (int i = 0; i < inNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(inNodes[i]); powerInputs.Add(p); } for (int i = 0; i < outNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(outNodes[i]); powerOutputs.Add(p); } } }
public void OnLoad(ConfigNode node) { // Process nodes node.TryGetValue("DisplayName", ref modeName); node.TryGetValue("ModeID", ref modeID); node.TryGetValue("ModeColor", ref modeColor); node.TryGetValue("PowerGeneration", ref powerGeneration); ConfigNode[] inNodes = node.GetNodes("INPUT_RESOURCE"); ConfigNode[] outNodes = node.GetNodes("OUTPUT_RESOURCE"); inputs = new List <ResourceRatio>(); for (int i = 0; i < inNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(inNodes[i]); inputs.Add(p); } outputs = new List <ResourceRatio>(); for (int i = 0; i < outNodes.Length; i++) { ResourceRatio p = new ResourceRatio(); p.Load(outNodes[i]); outputs.Add(p); } }
public override void OnLoad(ConfigNode node) { if (inputList == null) { inputList = new List <ResourceRatio>(); } if (outputList == null) { outputList = new List <ResourceRatio>(); } if (reqList == null) { reqList = new List <ResourceRatio>(); } if (node.HasNode("INPUT_RESOURCE")) { inputList.Clear(); } if (node.HasNode("OUTPUT_RESOURCE")) { outputList.Clear(); } if (node.HasNode("REQUIRED_RESOURCE")) { reqList.Clear(); } var count = node.CountNodes; for (int i = 0; i < count; ++i) { var subNode = node.nodes[i]; var newResource = new ResourceRatio() { FlowMode = ResourceFlowMode.NULL }; if (!subNode.HasValue("ResourceName") && subNode.name.EndsWith("_RESOURCE")) { Debug.Log("Resource must have value 'ResourceName'"); continue; } newResource.Load(subNode); switch (subNode.name) { case "INPUT_RESOURCE": inputList.Add(newResource); break; case "OUTPUT_RESOURCE": outputList.Add(newResource); break; case "REQUIRED_RESOURCE": reqList.Add(newResource); break; } } }
public BoiloffFuel(ConfigNode node, Part p) { part = p; node.TryGetValue("FuelName", ref fuelName); node.TryGetValue("BoiloffRate", ref boiloffRate); outputs = new List <ResourceRatio>(); ConfigNode[] outNodes = node.GetNodes("OUTPUT_RESOURCE"); for (int i = 0; i < outNodes.Length; i++) { ResourceRatio r = new ResourceRatio(); r.Load(outNodes[i]); outputs.Add(r); } }
protected void loadResourceNodes(ConfigNode node, string nodeName, List <ResourceRatio> resources) { ConfigNode[] resourceNodes; ConfigNode resourceNode; ResourceRatio resourceRatio; if (node.HasNode(nodeName)) { resourceNodes = node.GetNodes(nodeName); for (int index = 0; index < resourceNodes.Length; index++) { resourceNode = resourceNodes[index]; resourceRatio = new ResourceRatio(); resourceRatio.Load(resourceNode); resources.Add(resourceRatio); } } }