internal static void TrackingSwitchToVessel(Vessel vessel) { SpaceTracking spaceTracking = (SpaceTracking)Object.FindObjectOfType(typeof(SpaceTracking)); MethodInfo method = spaceTracking.GetType() .GetMethod("FlyVessel", BindingFlags.NonPublic | BindingFlags.Instance); method.Invoke(spaceTracking, new object[] { vessel }); }
internal static void RequestCameraFocus(Vessel vessel) { SpaceTracking spaceTracking = (SpaceTracking)Object.FindObjectOfType(typeof(SpaceTracking)); MethodInfo method = spaceTracking.GetType() .GetMethod("RequestVessel", BindingFlags.NonPublic | BindingFlags.Instance); method.Invoke(spaceTracking, new object[] { vessel }); }
private static void SetVesselActiveInTS(Vessel vTarget) { if (KACWorkerGameState.CurrentGUIScene == GameScenes.TRACKSTATION) { try { SpaceTracking st = (SpaceTracking)KACSpaceCenter.FindObjectOfType(typeof(SpaceTracking)); //st.GetType().GetMethods(BindingFlags.NonPublic | BindingFlags.Instance).ToList().ForEach( // mi=>LogFormatted("Method-{0}-{1}",mi.Name,mi.IsPrivate)); MethodInfo setvesselMethod = st.GetType().GetMethod("SetVessel", BindingFlags.NonPublic | BindingFlags.Instance); setvesselMethod.Invoke(st, new object[] { vTarget, true }); } catch (Exception ex) { LogFormatted("Unable to set vessel as active in Tracking station:\r\n{0}", ex.Message); } } }