public void CreatePrefab() { var templateBody = prefabBodies[templateName]; var body = (PSystemBody)Instantiate(templateBody); body.celestialBody.bodyName = name; body.flightGlobalsIndex = flightGlobalsIndex; //load from config (if any) orbit.Load(name); var parentBody = prefabBodies[orbit.referenceBody]; if (body.celestialBody.orbitDriver != null) { body.celestialBody.orbitDriver.orbit = new Orbit(orbit.inclination, orbit.eccentricity, orbit.semiMajorAxis, orbit.LAN, orbit.argumentOfPeriapsis, orbit.meanAnomalyAtEpoch, orbit.epoch, parentBody.celestialBody); body.celestialBody.orbitDriver.UpdateOrbit(); } LoadCB(body.celestialBody); body.children.Clear(); parentBody.children.Add(body); body.enabled = false; prefabBodies[name] = body; }
public static void LoadOrbit(CelestialBody body) { var orbit = new PFOrbit(); if (!orbit.Load(body.name)) { return; } var parentBody = PFUtil.FindCB(body.name); if (body.orbitDriver != null) { body.orbitDriver.orbit = new Orbit(orbit.inclination, orbit.eccentricity, orbit.semiMajorAxis, orbit.LAN, orbit.argumentOfPeriapsis, orbit.meanAnomalyAtEpoch, orbit.epoch, body.orbit.referenceBody);// parentBody); body.orbitDriver.UpdateOrbit(); } }
public static void LoadOrbit(CelestialBody body) { var orbit = new PFOrbit(); if(!orbit.Load(body.name)) return; var parentBody = PFUtil.FindCB(body.name); if (body.orbitDriver != null) { body.orbitDriver.orbit = new Orbit(orbit.inclination, orbit.eccentricity, orbit.semiMajorAxis, orbit.LAN, orbit.argumentOfPeriapsis, orbit.meanAnomalyAtEpoch, orbit.epoch,body.orbit.referenceBody);// parentBody); body.orbitDriver.UpdateOrbit(); } }