private void OnTelescopeScience(TSTSpaceTelescope.TargetableObject lookingAt)
 {
     if (target.name == lookingAt.name)
     {
         SetComplete();
     }
 }
 public static void setTelescopeContractComplete(TSTSpaceTelescope.TargetableObject body)
 {
     Instance.TelescopeData[body.name] = true;
 }
 public static bool HasTelescopeCompleted(TSTSpaceTelescope.TargetableObject body)
 {
     return !isActive || Instance.TelescopeData[body.name];
 }
 public static void OnTelescopePicture(TSTSpaceTelescope.TargetableObject body)
 {
     if (isActive)
     {
         List<TelescopeListener> listeners = new List<TelescopeListener>(Instance.TelescopeListeners);
         foreach (TelescopeListener listener in listeners)
         {
             listener(body);
         }
     }
 }
 public static Contract.ContractPrestige getTelescopePrestige(TSTSpaceTelescope.TargetableObject body)
 {
     double distance = 0f;
     if (body.type == typeof(TSTGalaxy))
     {
         Vector3d bodyPos = body.position;
         CelestialBody HmePlanet = Planetarium.fetch.Home;
         Vector3d hmeplntPos = HmePlanet.getPositionAtUT(0);
         distance = Math.Sqrt(Math.Pow(bodyPos.x - hmeplntPos.x, 2) + Math.Pow(bodyPos.y - hmeplntPos.y, 2) + Math.Pow(bodyPos.z - hmeplntPos.z, 2));
     }
     else
     {
         distance = Utilities.DistanceFromHomeWorld(body.name);
     }
     if (distance < 13000000000)
     {
         return Contract.ContractPrestige.Trivial;
     }
     if (distance < 20000000000)
     {
         return Contract.ContractPrestige.Significant;
     }
     return Contract.ContractPrestige.Exceptional;
 }