void EnsureVesselJammer() { /* * if (vesselJammer == null) * { * return; * } * if (vesselJammer.vessel == null) * { * return; * } * if (vessel == null) * { * return; * } */ if (!vesselJammer || vesselJammer.vessel != vessel) { vesselJammer = vessel.gameObject.GetComponent <VesselECMJInfo>(); if (!vesselJammer) { vesselJammer = vessel.gameObject.AddComponent <VesselECMJInfo>(); } } vesselJammer.DelayedCleanJammerList(); }
void EnsureVesselJammer() { if (!vesselJammer || vesselJammer.vessel != vessel) { vesselJammer = vessel.gameObject.GetComponent <VesselECMJInfo>(); if (!vesselJammer) { vesselJammer = vessel.gameObject.AddComponent <VesselECMJInfo>(); } } vesselJammer.DelayedCleanJammerList(); }
public TargetSignatureData(CMFlare flare, float _signalStrength) { velocity = flare.velocity; geoPos = VectorUtils.WorldPositionToGeoCoords(flare.transform.position, FlightGlobals.currentMainBody); exists = true; acceleration = Vector3.zero; timeAcquired = Time.time; signalStrength = _signalStrength; targetInfo = null; vesselJammer = null; team = BDArmorySettings.BDATeams.None; pingPosition = Vector2.zero; orbital = false; orbit = null; lockedByRadar = null; vessel = null; }
public TargetSignatureData(Vessel v, float _signalStrength) { orbital = false; orbit = null; timeAcquired = Time.time; vessel = v; velocity = v.Velocity(); geoPos = VectorUtils.WorldPositionToGeoCoords(v.CoM, v.mainBody); acceleration = v.acceleration; exists = true; signalStrength = _signalStrength; targetInfo = v.gameObject.GetComponent <TargetInfo> (); // vessel never been picked up on radar before: create new targetinfo record if (targetInfo == null) { targetInfo = v.gameObject.AddComponent <TargetInfo>(); } team = BDArmorySettings.BDATeams.None; if (targetInfo) { team = targetInfo.team; targetInfo.detectedTime = Time.time; } else { List <MissileFire> .Enumerator mf = v.FindPartModulesImplementing <MissileFire>().GetEnumerator(); while (mf.MoveNext()) { team = BDATargetManager.BoolToTeam(mf.Current.team); break; } mf.Dispose(); } vesselJammer = v.gameObject.GetComponent <VesselECMJInfo>(); pingPosition = Vector2.zero; lockedByRadar = null; }
public TargetSignatureData(Vector3 _velocity, Vector3 _position, Vector3 _acceleration, bool _exists, float _signalStrength) { velocity = _velocity; geoPos = VectorUtils.WorldPositionToGeoCoords(_position, FlightGlobals.currentMainBody); acceleration = _acceleration; exists = _exists; timeAcquired = Time.time; signalStrength = _signalStrength; targetInfo = null; vesselJammer = null; team = BDArmorySettings.BDATeams.None; pingPosition = Vector2.zero; orbital = false; orbit = null; lockedByRadar = null; vessel = null; }
public TargetSignatureData(Vessel v, float _signalStrength) { orbital = v.InOrbit(); orbit = v.orbit; timeAcquired = Time.time; vessel = v; velocity = v.Velocity(); geoPos = VectorUtils.WorldPositionToGeoCoords(v.CoM, v.mainBody); acceleration = v.acceleration_immediate; exists = true; signalStrength = _signalStrength; targetInfo = v.gameObject.GetComponent <TargetInfo>(); // vessel never been picked up on radar before: create new targetinfo record if (targetInfo == null) { targetInfo = v.gameObject.AddComponent <TargetInfo>(); } Team = null; if (targetInfo) // Always true, as we just set it? { Team = targetInfo.Team; } else { List <MissileFire> .Enumerator mf = v.FindPartModulesImplementing <MissileFire>().GetEnumerator(); while (mf.MoveNext()) { Team = mf.Current.Team; break; } mf.Dispose(); } vesselJammer = v.gameObject.GetComponent <VesselECMJInfo>(); pingPosition = Vector2.zero; lockedByRadar = null; }
public TargetSignatureData(Vessel v, float _signalStrength) { orbital = v.InOrbit(); orbit = v.orbit; timeAcquired = Time.time; vessel = v; velocity = v.Velocity(); geoPos = VectorUtils.WorldPositionToGeoCoords(v.CoM, v.mainBody); acceleration = v.acceleration_immediate; exists = true; signalStrength = _signalStrength; targetInfo = v.gameObject.GetComponent <TargetInfo>(); // vessel never been picked up on radar before: create new targetinfo record if (targetInfo == null) { targetInfo = v.gameObject.AddComponent <TargetInfo>(); } Team = null; if (targetInfo) // Always true, as we just set it? { Team = targetInfo.Team; } else { var mf = VesselModuleRegistry.GetMissileFire(v, true); if (mf != null) { Team = mf.Team; } } vesselJammer = v.gameObject.GetComponent <VesselECMJInfo>(); pingPosition = Vector2.zero; lockedByRadar = null; }