private void TrackLanding() { MissionLanding landing = new MissionLanding { Time = Planetarium.GetUniversalTime(), Body = vessel.mainBody.name, Coordinates = MissionCoordinates.GetMissionCoordinates(vessel.latitude, vessel.longitude), Funds = RmmUtil.CalculateVesselPrice(vessel), Crew = (int)trackCrew, CrewCapacity = (int)trackCrewCapacity, Parts = MissionPart.GetMissionPartList(vessel), Resources = MissionResource.GetMissionResourceList(vessel), }; _mission.TrackLanding(landing); trackingPrimary = false; trackingActive = false; trackingStatus = "Landed"; ScreenMessages.PostScreenMessage("mission tracking-LANDING", 4, ScreenMessageStyle.UPPER_CENTER); _partModule.nextLogicTime = 0; updateTrackingVars(vessel); updateNextLogicTime(vessel); }
private void trackArrival(Part dockedPort) { MissionArrival arrival = new MissionArrival { Time = Planetarium.GetUniversalTime(), Body = vessel.mainBody.name, Orbit = MissionOrbit.GetMissionOrbit(vessel.orbit), flightIDDockPart = dockedPort.flightID, Crew = (int)trackCrew, CrewCapacity = (int)trackCrewCapacity, Parts = MissionPart.GetMissionPartList(RmmUtil.GetDockedParts(vessel, dockedPort)) }; _mission.TrackArrival(arrival); trackingActive = false; trackingPrimary = false; trackingStatus = "Arrived"; //----------------------- StoreVesselSnapShot("arrival"); _partModule.PortCode = ""; ScreenMessages.PostScreenMessage("mission tracking-ARRIVAL", 4, ScreenMessageStyle.UPPER_CENTER); _partModule.nextLogicTime = 0; updateTrackingVars(vessel); updateNextLogicTime(vessel); }
private void trackLaunch() { MissionLaunch launch = new MissionLaunch { Time = (float)Planetarium.GetUniversalTime(), Body = vessel.mainBody.name, VesselName = vessel.name, Funds = RmmUtil.CalculateVesselPrice(vessel), Crew = RmmUtil.AstronautCrewCount(vessel), Parts = MissionPart.GetMissionPartList(vessel), }; _mission.TrackLaunch(launch); trackingActive = true; trackingPrimary = true; trackingStatus = "Underway"; //----------------------- trackPartCount = RmmUtil.CountVesselParts(vessel); trackCrew = RmmUtil.AstronautCrewCount(vessel); trackCrewCapacity = RmmUtil.CrewCapacityCount(vessel); ScreenMessages.PostScreenMessage("mission tracking-LAUNCH", 4, ScreenMessageStyle.UPPER_CENTER); setOtherModules(); updateTrackingVars(vessel); updateNextLogicTime(vessel); }
private void trackDeparture() { Part dockedPart = null; foreach (Part p in vessel.parts) { if (p.flightID == trackPort) { dockedPart = p; break; } } MissionDeparture departure = new MissionDeparture { Time = (float)Planetarium.GetUniversalTime(), Body = vessel.mainBody.name, Orbit = MissionOrbit.GetMissionOrbit(vessel.orbit), flightIDDockPart = trackPort, VesselName = vessel.name, Crew = RmmUtil.AstronautCrewCount(vessel), Parts = MissionPart.GetMissionPartList(vessel), Resources = MissionResource.GetMissionResourceList(vessel), Proppellants = RmmUtil.DetermineProppellantArray(vessel), Structure = Structure.GetDockedStructure(vessel, dockedPart) }; _mission.TrackDeparture(departure); trackingActive = true; trackingPrimary = true; trackingStatus = "Underway"; //----------------------- trackPartCount = RmmUtil.CountVesselParts(vessel); trackCrew = RmmUtil.AstronautCrewCount(vessel); trackCrewCapacity = RmmUtil.CrewCapacityCount(vessel); ScreenMessages.PostScreenMessage("mission tracking-DEPARTURE", 4, ScreenMessageStyle.UPPER_CENTER); setOtherModules(); updateTrackingVars(vessel); updateNextLogicTime(vessel); }