public static LabEquipment getLabEquipmentFromNode(ConfigNode node, Lab lab) { if (node.name != CONFIG_NODE_NAME) { NE_Helper.logError("getLabEquipmentFromNode: invalid Node: " + node.name); return(getNullObject()); } string abb = node.GetValue(ABB_VALUE); string name = node.GetValue(NAME_VALUE); float mass = NE_Helper.GetValueAsFloat(node, MASS_VALUE); float cost = NE_Helper.GetValueAsFloat(node, COST_VALUE); string product = node.GetValue(PRODUCT_VALUE); float productPerHour = NE_Helper.GetValueAsFloat(node, PRODUCT_PER_HOUR_VALUE); string reactant = node.GetValue(REACTANT_VALUE); float reactantPerProduct = NE_Helper.GetValueAsFloat(node, REACTANT_PER_PRODUCT_VALUE); EquipmentRacks type = EquipmentRacksFactory.getType(node.GetValue(TYPE_VALUE)); LabEquipment eq = new LabEquipment(abb, name, type, mass, cost, productPerHour, product, reactantPerProduct, reactant); eq.lab = lab; ConfigNode expNode = node.GetNode(ExperimentData.CONFIG_NODE_NAME); if (expNode != null) { eq.loadExperiment(ExperimentData.getExperimentDataFromNode(expNode)); } return(eq); }
/// <summary> /// Gets all lab crew members. /// </summary> /// <returns>A (possibly empty) list of lab crew members.</returns> internal List <string> getAllLabCrewMembers() { List <string> members = new List <string>(); if (state == ExperimentState.INSTALLED || state == ExperimentState.RUNNING) { try { if (store == null) { NE_Helper.logError("getAllLabCrewMembers: store is null!"); } Lab lab = ((LabEquipment)store).getLab(); if (lab == null) { NE_Helper.logError("getAllLabCrewMembers: lab is null!"); } if (lab.part == null) { NE_Helper.logError("getAllLabCrewMembers: lab.part is null!"); } if (lab.part.protoModuleCrew == null) { NE_Helper.logError("getAllLabCrewMembers: lab.part.protoModuleCrew is null!"); } for (int idx = 0, count = lab.part.protoModuleCrew.Count; idx < count; idx++) { var crewMember = lab.part.protoModuleCrew[idx]; members.Add(crewMember.name.Trim()); } } catch (NullReferenceException nre) { NE_Helper.logError("getAllLabCrewMembers: nullref!\n" + nre.StackTrace); } } return(members); }
internal void onStart(Lab lab) { if (equ != null) { equ.install(lab); } }
public void install(Lab lab) { NE_Helper.log("Lab equipment install in " + lab.abbreviation); gen = createGenerator(product, productPerHour, reactant, reactantPerProduct, lab); lab.addGenerator(gen); this.lab = lab; }
public void install(LabEquipment eq, Lab lab) { if (eq != null && type == eq.getType()) { equ = eq; eq.install(lab); } else { NE_Helper.logError("LabEquipmentSlot.install: Type doesn't macht"); } }
internal List <string> getAllLabCrewMembers() { List <string> members = new List <string>(); if (state == ExperimentState.INSTALLED || state == ExperimentState.RUNNING) { try { Lab lab = ((LabEquipment)store).getLab(); foreach (ProtoCrewMember crewMember in lab.part.protoModuleCrew) { members.Add(crewMember.name.Trim()); } } catch (NullReferenceException nre) { NE_Helper.logError("getAllLabCrewMembers: nullref!\n" + nre.StackTrace); } } return(members); }
public override void start(startCallback cbMethod) { NE_Helper.log("ResExppStep.start()"); if (canStart()) { Lab lab = ((LabEquipment)exp.store).getLab(); if (lab != null && !OMSExperiment.checkBoring(lab.vessel, true)) { NE_Helper.log("ResExppStep.start(): create Resource"); ((LabEquipment)exp.store).createResourceInLab(res, amount); cbMethod(true); return; } else { NE_Helper.logError("ResExppStep.start(): Lab null or boring. Boring: " + OMSExperiment.checkBoring(lab.vessel, true)); } } NE_Helper.log("ResExppStep.start(): can NOT start"); cbMethod(false); }
private void installExperimentInLab(Lab lab) { lab.installExperiment(expData); removeExperimentData(); }
public static LabEquipmentSlot getLabEquipmentSlotFromConfigNode(ConfigNode node, Lab lab) { if (node == null || node.name != CONFIG_NODE_NAME) { NE_Helper.logError("getLabEquipmentFromNode: invalid Node: " + node == null? "NULL" : node.name); return(new LabEquipmentSlot(EquipmentRacks.NONE)); } EquipmentRacks type = EquipmentRacksFactory.getType(node.GetValue(TYPE_VALUE)); LabEquipment le = null; ConfigNode leNode = node.GetNode(LabEquipment.CONFIG_NODE_NAME); if (leNode != null) { le = LabEquipment.getLabEquipmentFromNode(leNode, lab); } return(new LabEquipmentSlot(type, le)); }
private Generator createGenerator(string resToCreate, float creationRate, string useRes, float usePerUnit, Lab lab) { Generator gen = new Generator(lab.part); gen.addRate(resToCreate, -creationRate); if (usePerUnit > 0) { gen.addRate(useRes, usePerUnit); } return(gen); }