void ConstructFromLoaded() { foreach (Part p in vessel.parts) { foreach (PartModule m in p.Modules) { if (RTUtils.containsField(m, "isRemoteCommand") && (bool)m.Fields.GetValue("isRemoteCommand")) { this.hasCommand = true; break; } } if (hasCommand) { break; } } float sumRange = 0f; // NK allow multiple antennae foreach (Part p in vessel.parts) { foreach (PartModule m in p.Modules) { if (RTUtils.containsField(m, "antennaRange")) { float lngth = (float)m.Fields.GetValue("antennaRange"); if (lngth > this.antennaRange) { this.hasAntenna = true; this.antennaRange = lngth; } sumRange += lngth; // NK allow multiple antennae } if (RTUtils.containsField(m, "dishRange")) { DishData tmp = new DishData(); tmp.dishRange = m.Fields.GetValue("dishRange") == null ? 0 : (float)m.Fields.GetValue("dishRange"); tmp.pointedAt = m.Fields.GetValue("pointedAt") == null ? "None" : (string)m.Fields.GetValue("pointedAt"); if (tmp.dishRange > 0) { this.hasDish = true; this.dishData.Add(tmp); } } } } // NK allow multiple antennae if (this.hasAntenna && RTGlobals.useMultiple) { this.antennaRange = (float)Math.Round(this.antennaRange + (sumRange - this.antennaRange) * 0.25f); } }
void ConstructFromUnloaded() { foreach (ProtoPartSnapshot p in this.vessel.protoVessel.protoPartSnapshots) { foreach (ProtoPartModuleSnapshot s in p.modules) { ConfigNode n = new ConfigNode(); s.Save(n); if (n.HasValue("isRemoteCommand") && bool.Parse(n.GetValue("isRemoteCommand"))) { this.hasCommand = true; break; } } if (hasCommand) { break; } } foreach (ProtoPartSnapshot p in this.vessel.protoVessel.protoPartSnapshots) { foreach (ProtoPartModuleSnapshot s in p.modules) { ConfigNode n = new ConfigNode(); s.Save(n); if (n.HasValue("antennaRange")) { float lngth = float.Parse(n.GetValue("antennaRange")); if (lngth > this.antennaRange) { this.hasAntenna = true; this.antennaRange = lngth; } } if (n.HasValue("dishRange")) { DishData tmp = new DishData(); tmp.dishRange = float.Parse(n.GetValue("dishRange")); tmp.pointedAt = n.HasValue("pointedAt") ? n.GetValue("pointedAt") : "None"; if (tmp.dishRange > 0) { this.hasDish = true; this.dishData.Add(tmp); } } } } }
void ConstructFromLoaded() { foreach (Part p in vessel.parts) { foreach (PartModule m in p.Modules) { if (RTUtils.containsField(m, "isRemoteCommand") && (bool)m.Fields.GetValue("isRemoteCommand")) { this.hasCommand = true; break; } } if (hasCommand) { break; } } foreach (Part p in vessel.parts) { foreach (PartModule m in p.Modules) { if (RTUtils.containsField(m, "antennaRange")) { float lngth = (float)m.Fields.GetValue("antennaRange"); if (lngth > this.antennaRange) { this.hasAntenna = true; this.antennaRange = lngth; } } if (RTUtils.containsField(m, "dishRange")) { DishData tmp = new DishData(); tmp.dishRange = m.Fields.GetValue("dishRange") == null ? 0 : (float)m.Fields.GetValue("dishRange"); tmp.pointedAt = m.Fields.GetValue("pointedAt") == null ? "None" : (string)m.Fields.GetValue("pointedAt"); if (tmp.dishRange > 0) { this.hasDish = true; this.dishData.Add(tmp); } } } } }
void ConstructFromUnloaded() { foreach (ProtoPartSnapshot p in this.vessel.protoVessel.protoPartSnapshots) { foreach (ProtoPartModuleSnapshot s in p.modules) { ConfigNode n = new ConfigNode(); s.Save(n); if (n.HasValue("isRemoteCommand") && bool.Parse(n.GetValue("isRemoteCommand"))) { this.hasCommand = true; break; } } if (hasCommand) { break; } } float sumRange = 0f; // NK allow multiple antennae foreach (ProtoPartSnapshot p in this.vessel.protoVessel.protoPartSnapshots) { foreach (ProtoPartModuleSnapshot s in p.modules) { ConfigNode n = new ConfigNode(); s.Save(n); if (n.HasValue("antennaRange")) { float lngth = float.Parse(n.GetValue("antennaRange")); if (lngth > this.antennaRange) { this.hasAntenna = true; this.antennaRange = lngth; } sumRange += lngth; // NK allow multiple antennae } if (n.HasValue("dishRange")) { DishData tmp = new DishData(); tmp.dishRange = float.Parse(n.GetValue("dishRange")); tmp.pointedAt = n.HasValue("pointedAt") ? n.GetValue("pointedAt") : "None"; if (tmp.dishRange > 0) { this.hasDish = true; this.dishData.Add(tmp); } } } } // NK allow multiple antennae if (this.hasAntenna && RTGlobals.useMultiple) { this.antennaRange = (float)Math.Round(this.antennaRange + (sumRange - this.antennaRange) * 0.25f); } }