private void SetCraftOrbit(Vessel craftVessel, OrbitDriver.UpdateMode mode) { craftVessel.orbitDriver.SetOrbitMode(mode); var craftCoM = GetVesselWorldCoM(craftVessel); var vesselCoM = GetVesselWorldCoM(builder.vessel); var offset = (Vector3d.zero + craftCoM - vesselCoM).xzy; var corb = craftVessel.orbit; var orb = builder.vessel.orbit; var UT = Planetarium.GetUniversalTime(); var body = orb.referenceBody; corb.UpdateFromStateVectors(orb.pos + offset, orb.vel, body, UT); Debug.Log(String.Format("[EL] {0} {1}", orbit(orb), orb.pos)); Debug.Log(String.Format("[EL] {0} {1}", orbit(corb), corb.pos)); }
protected override void UpdateDisplay(Vessel vessel) { VesselId = vessel.id; Vessel = vessel; ObtDriverMode = vessel.orbitDriver.updateMode; }
public void SetOrbitMode(OrbitDriver.UpdateMode mode);