private void HandleRoutineDepartureDetailWindow() { if (_routineDepartureDetailWindow == null) { return; } if (!WindowManager.IsOpen(_routineDepartureDetailWindow)) { CancelRoutineDepartureDetail(); return; } _routineDepartureDetailWindow.CrewCount = RmmUtil.CrewCount(_routineDepartureDetailWindow.DepartureParts); List <RoutineDepartureDetailWindow.ResourceItem> resources = new List <RoutineDepartureDetailWindow.ResourceItem>(); foreach (String proppelant in _routineDepartureDetailWindow.RoutineDepartureMission.Proppelants) { foreach (MissionResource missionResource in _routineDepartureDetailWindow.RoutineDepartureMission.Resources) { if (missionResource.Name == proppelant) { RoutineDepartureDetailWindow.ResourceItem resourceItem = new RoutineDepartureDetailWindow.ResourceItem { Name = missionResource.Name, RequiredAmount = missionResource.Amount, CurrentAmount = RmmUtil.ReadResource(_routineDepartureDetailWindow.DepartureParts, missionResource.Name), }; resources.Add(resourceItem); } } } _routineDepartureDetailWindow.Resources = resources; double currentVesselCargoMass = 0; double currentVesselCargoFunds = 0; List <MissionResource> vesselResources = MissionResource.GetMissionResourceList(_routineDepartureDetailWindow.DepartureParts); foreach (MissionResource vesselResource in vesselResources) { if (_routineDepartureDetailWindow.RoutineDepartureMission.Proppelants.Contains(vesselResource.Name)) { continue; } currentVesselCargoMass += RmmUtil.Mass(vesselResource.Name, vesselResource.Amount); currentVesselCargoFunds += RmmUtil.Cost(vesselResource.Name, vesselResource.Amount); } _routineDepartureDetailWindow.CurrentCargoMass = currentVesselCargoMass; _routineDepartureDetailWindow.CurrentCargoFunds = currentVesselCargoFunds; }