public static bool TargetValid() { if (FlightGlobals.ActiveVessel == null || FlightGlobals.ActiveVessel.targetObject == null || FlightGlobals.ActiveVessel.targetObject.GetOrbit() == null || FlightGlobals.ActiveVessel.targetObject.GetOrbit().referenceBody == null || FlightGlobals.ActiveVessel.orbit == null || FlightGlobals.ActiveVessel.orbit.referenceBody == null) { _targetBody = null; _vesselIntersect = false; _bodyIntersect = false; _updated = false; _activeVessel = null; _activeBody = null; _targetObject = null; _targetTransform = null; return(false); } _activeVessel = FlightGlobals.ActiveVessel; _activeBody = FlightGlobals.currentMainBody; _targetObject = _activeVessel.targetObject; if (_targetObject.GetVessel() == null) { if (_targetObject.GetOrbit() == null) { _targetBody = null; _isCelestial = false; _isVessel = false; } else if (_targetObject.GetOrbitDriver().celestialBody != null) { _targetBody = _targetObject.GetOrbitDriver().celestialBody; _isCelestial = true; _isVessel = false; } else { _targetBody = null; _isCelestial = false; _isVessel = false; } } else { _targetBody = null; _isCelestial = false; _isVessel = true; _targetTransform = FlightGlobals.fetch.vesselTargetTransform; _vesselTargetDelta = FlightGlobals.fetch.vesselTargetDelta; } return(true); }
public static void LogTargetInfo(ITargetable target) { var method = typeof(OrbitRenderer).GetMethod("GetOrbitColour", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); Color orbitColor2 = (Color)method.Invoke(target.GetOrbitDriver().Renderer, new object[0]); Logger.Debug("Target name: " + target.GetName()); Logger.Debug("Target orbit color 1: " + target.GetOrbitDriver().Renderer.orbitColor); Logger.Debug("Target orbit color 2: " + orbitColor2); Logger.Debug("Target in vessel list: " + FlightGlobals.Vessels.Contains(target.GetVessel())); Logger.Debug("Target same orbit renderer: " + (target.GetOrbitDriver().Renderer == target.GetVessel().orbitRenderer)); Logger.Debug("Target orbit renderer mode: " + target.GetOrbitDriver().Renderer.drawMode); Logger.Debug("Target isActive: " + target.GetOrbitDriver().Renderer.isActive); Logger.Debug("Target isFocused: " + target.GetOrbitDriver().Renderer.isFocused); Logger.Debug("Target orbit driver draw: " + target.GetOrbitDriver().drawOrbit); Logger.Debug("Target orbit driver update mode: " + target.GetOrbitDriver().updateMode); Logger.Debug("Target orbit driver last mode: " + target.GetOrbitDriver().lastMode); Logger.Debug("Target orbit driver color: " + target.GetOrbitDriver().orbitColor); Logger.Debug("Target has conic renderer: " + (target.GetVessel().patchedConicRenderer != null)); }
private bool MouseOverTargetable(ITargetable targetable) { bool result = false; OrbitDriver targetDriver = targetable.GetOrbitDriver(); OrbitRenderer.OrbitCastHit rendererHit = default(OrbitRenderer.OrbitCastHit); if (targetDriver != null && targetDriver.Renderer.OrbitCast(Input.mousePosition, out rendererHit)) { result = true; _hitOrbit = rendererHit.or.driver.orbit; _hitScreenPoint = rendererHit.GetScreenSpacePoint(); _hitUT = rendererHit.UTatTA; } return(result); }
public OrbitDriver GetOrbitDriver() { return(target == null? null : target.GetOrbitDriver()); }
private bool MouseOverTargetable(ITargetable targetable) { bool result = false; OrbitDriver targetDriver = targetable.GetOrbitDriver(); OrbitRenderer.OrbitCastHit rendererHit = default(OrbitRenderer.OrbitCastHit); if (targetDriver != null && targetDriver.Renderer.OrbitCast(Input.mousePosition, out rendererHit)) { result = true; _hitOrbit = rendererHit.or.driver.orbit; _hitScreenPoint = rendererHit.GetScreenSpacePoint(); _hitUT = rendererHit.UTatTA; } return result; }