private void ExecuteOnStartOperations() { PlanetList = PlanetsExtention.GetPlanetNames(); PixelExtention.LoadImage(out PlanetT, "Planet.png", 100); PixelExtention.LoadImage(out SatT, "Satellite.png", 32); PixelExtention.ClearTexture(out PlanetT_Exterior, PlanetT_Exterior); }
private void OnInputDataChange() { Ialt = Convert.ToInt32(alt); Icount = Convert.ToInt32(count); CelestialBody SelectedBody = PlanetsExtention.GetCelestialBodyFromName(SelectedItem); double gravParameter = SelectedBody.gravParameter / 1000000000; IBodyRadius = (int)(SelectedBody.Radius / 1000); altlim = CalcExtention.MinAltitudeForS2SCommunication(SelectedBody, Ialt, 1, Icount); cmm = (string)((altlim == Ialt) ? "Yes" : "No(" + altlim + " km)"); dist = Math.Round(CalcExtention.DistanceBetweenS2S(SelectedBody, Ialt, 1, Icount), 3); orbp = Math.Round(CalcExtention.orbitalPeriod(SelectedBody.Radius / 1000, Ialt, gravParameter), 3); nightt = Math.Round(CalcExtention.orbitalNightTime(SelectedBody.Radius / 1000, Ialt, gravParameter), 3); if (HighLogic.LoadedScene == GameScenes.FLIGHT) { startDV = Convert.ToString(Math.Round(CalcExtention.hohmannStartDeltaV(SelectedBody.Radius / 1000, this.vessel.altitude / 1000, Ialt, gravParameter) * 1000, 3)) + "m/s ( " + Math.Round(this.vessel.altitude / 1000) + "km) "; endDV = Math.Round(CalcExtention.hohmannFinishDeltaV(SelectedBody.Radius / 1000, this.vessel.altitude / 1000, Ialt, gravParameter) * 1000, 3); slidea = Math.Round(CalcExtention.slidePhaseAngle(SelectedBody.Radius / 1000, Icount, this.vessel.altitude / 1000, Ialt, gravParameter), 3); slidet = Math.Round(CalcExtention.slidePhaseTime(slidea, SelectedBody.Radius / 1000, this.vessel.altitude / 1000, gravParameter), 3); } //////////////////////////////////////////////// Graphics ////////////////////////////////////////////// int scaleFactor = CalcExtention.GetScaleFactorForGraphic(IBodyRadius, Ialt, (int)(_GraphicWindow.width / 2 - 32)); IBodyRadius = IBodyRadius * scaleFactor / 100; altRadius = IBodyRadius / 2 + (Ialt * scaleFactor / 100) / 2; PixelExtention.ClearTexture(out PlanetT_Exterior, PlanetT_Exterior); PixelExtention.DrawCircle(out PlanetT_Exterior, PlanetT_Exterior, PlanetT_Exterior.width / 2, PlanetT_Exterior.height / 2, altRadius, Color.red); }