public static void ParseFlyingVessel(bool doRealSignalNow = false) { listFlyingVessel = new Dictionary <string, Dictionary <string, string> >(); for (int i = 0; i < FlightGlobals.Vessels.Count; i++) { var v = FlightGlobals.Vessels[i]; //foreach (Vessel v in FlightGlobals.Vessels) { if ((v.vesselType != VesselType.EVA) && (v.vesselType != VesselType.Flag) && (v.vesselType != VesselType.SpaceObject) && (v.vesselType != VesselType.Unknown) && (v.vesselType != VesselType.Debris) /* && * (v.parts.Count > 0)*/) { string pid = v.id.ToString(); double vesselPower = AHUtil.GetActualVesselPower(v, false, true, false); double vesselRelayPower = AHUtil.GetActualVesselPower(v, true, true, false); listFlyingVessel.Add(pid, new Dictionary <string, string>()); listFlyingVessel[pid].Add("name", v.GetName()); listFlyingVessel[pid].Add("type", v.vesselType.ToString()); listFlyingVessel[pid].Add("powerTotal", vesselPower.ToString()); listFlyingVessel[pid].Add("powerRelay", vesselRelayPower.ToString()); listFlyingVessel[pid].Add("saveDate", ""); listFlyingVessel[pid].Add("realSignal", ""); listFlyingVessel[pid].Add("connectedTo", ""); if (doRealSignalNow) { ComputeRealSignal(v); } } } }
private IEnumerator StartSecond() { while (Time.time < timeAtStart + HighLogic.CurrentGame.Parameters.CustomParams <AntennaHelperSettings> ().startDelay /*1f*/) { yield return(timers [0]); } vessel = FlightGlobals.ActiveVessel; // possible fix for AH not always working, see forum around 16.05.2018 if (vessel == null) { Debug.Log("[AH] active vessel is null, shouldn't happen..."); ReStartSecond(); } vesselPower = AHUtil.GetActualVesselPower(vessel); vesselPowerRelay = AHUtil.GetActualVesselPower(vessel, true); dsnRange = AHUtil.GetRange(vesselPower, dsnPower); SetDeployableAntennaList(); SetRelayList(); SetActiveConnect(); yield return(SetMarkerList()); AddToolbarButton(); StartCoroutine("UpdateCommNet"); }
public RelayVessel(Vessel v) { vessel = v; relayPower = AHUtil.GetActualVesselPower(v, true); directPower = AHUtil.GetActualVesselPower(v); // isConnected = vessel.Connection.IsConnected; name = vessel.GetName(); }
public static void UpdateRelayVessels() { potentialRelays = new List <RelayVessel> (); foreach (Vessel v in FlightGlobals.Vessels.FindAll(v => (v.Connection != null))) { double relayPower = AHUtil.GetActualVesselPower(v, true); if (relayPower > 0) { potentialRelays.Add(new RelayVessel(v)); } } }
public static List <Vessel> GetFlyingRelays() { List <Vessel> flyingRelays = new List <Vessel>(); foreach (Vessel v in GetAllFlyingVessel()) { if (AHUtil.GetActualVesselPower(v, true) > 0) { flyingRelays.Add(v); } } return(flyingRelays); }
private void VesselModified(Vessel v = null) { double actualPower = AHUtil.GetActualVesselPower(FlightGlobals.ActiveVessel); if (actualPower != vesselPower) { hasStarted = false; StopAllCoroutines(); DestroyMarkers(); timeAtStart = Time.time; StartCoroutine("StartSecond"); } }
private IEnumerator StartSecond() { while (Time.time < timeAtStart + 1f) { yield return(timers [0]); } vessel = FlightGlobals.ActiveVessel; vesselPower = AHUtil.GetActualVesselPower(vessel); vesselPowerRelay = AHUtil.GetActualVesselPower(vessel, true); dsnRange = AHUtil.GetRange(vesselPower, dsnPower); SetDeployableAntennaList(); SetRelayList(); SetActiveConnect(); yield return(SetMarkerList()); AddToolbarButton(); StartCoroutine("UpdateCommNet"); }
static Relay() { home = FlightGlobals.GetHomeBody(); _dsn = new Relay(); _dsn.relayPower = GameVariables.Instance.GetDSNRange (ScenarioUpgradeableFacilities.GetFacilityLevel (SpaceCenterFacility.TrackingStation)); _dsn.directPower = _dsn.relayPower; _dsn.isDSN = true; _dsn.distanceOffset = home.Radius; _dsn.name = /*"DSN"*/ Localizer.Format("#autoLOC_AH_0014"); potentialRelays = new List <RelayVessel> (); foreach (Vessel v in FlightGlobals.Vessels.FindAll(v => (v.Connection != null) && (v != FlightGlobals.ActiveVessel))) { double relayPower = AHUtil.GetActualVesselPower(v, true); if (relayPower > 0) { potentialRelays.Add(new RelayVessel(v)); } } // Debug.Log ("[AH] dsn distance offset : " + _dsn.distanceOffset); // Debug.Log ("[AH] static dsn relay constructed"); }