Exemplo n.º 1
0
        public void UpdateVessel(ClientObject client, Guid vesselID, byte[] vesselData)
        {
            string     vesselDataString = Encoding.UTF8.GetString(vesselData);
            ConfigNode cn     = ConfigNodeReader.StringToConfigNode(vesselDataString);
            string     landed = cn.GetValue("landed");
            VesselInfo vi     = GetVesselInfo(vesselID);

            if (landed == "True")
            {
                double newLat  = Double.Parse(cn.GetValue("lat"));
                double newLong = Double.Parse(cn.GetValue("lon"));
                double newAlt  = Double.Parse(cn.GetValue("alt"));
                vi.UpdateLanded(newLat, newLong, newAlt, 0);
            }
            else
            {
                ConfigNode cnOrbit = cn.GetNode("ORBIT");
                double[]   orbit   = new double[7];
                orbit[0] = double.Parse(cnOrbit.GetValue("INC"));
                orbit[1] = double.Parse(cnOrbit.GetValue("ECC"));
                orbit[2] = double.Parse(cnOrbit.GetValue("SMA"));
                orbit[3] = double.Parse(cnOrbit.GetValue("LAN"));
                orbit[4] = double.Parse(cnOrbit.GetValue("LPE"));
                orbit[5] = double.Parse(cnOrbit.GetValue("MNA"));
                orbit[6] = double.Parse(cnOrbit.GetValue("EPH"));
                int   referenceBody = Int32.Parse(cnOrbit.GetValue("REF"));
                Orbit o             = new Orbit(orbit, referenceBody);
                vi.UpdateOrbit(o);
            }
        }
Exemplo n.º 2
0
 public void PositionVessel(ClientObject client, VesselUpdate update)
 {
     if (update.isSurfaceUpdate)
     {
         VesselInfo vi = GetVesselInfo(update.vesselID);
         vi.UpdateLanded(update.position[0], update.position[1], update.position[2], Vector.Length(update.velocity));
     }
     else
     {
         VesselInfo vi = GetVesselInfo(update.vesselID);
         int        planetReference = PlanetInfo.GetReference(update.bodyName);
         if (planetReference != -1)
         {
             Orbit o = new Orbit(update.orbit, planetReference);
             vi.UpdateOrbit(o);
         }
     }
 }