private void checkMission(Object context) { Dispatcher.FromThread(UIThread).Invoke((MainWindow.Invoker) delegate { try { int deckId = (int)context; int fleet = deckId - 1; bool isAuto = Panel[fleet].Auto.IsChecked == true; if (!KCODt.Instance.IsInScenario && isAuto) { RequestBuilder.Instance.MissionReturn(deckId); ICollection <string> chargeIds = new List <string>(); List <JToken> shipIds = KCODt.Instance.DeckData[fleet]["api_ship"].ToList(); foreach (JToken shipId in shipIds) { if (shipId.ToString() != "-1") { chargeIds.Add(shipId.ToString()); } } RequestBuilder.Instance.FleetCharge(deckId, chargeIds); MissionDetail md = (MissionDetail)Panel[fleet].Mission.SelectedItem; if (md != null && md.Id != 0) { RequestBuilder.Instance.StartMission(deckId, md.Id); } } } catch (Exception ex) { Debug.Print(ex.ToString()); } }); }
private void btnFleet_Click(object sender, RoutedEventArgs e) { try { Button btn = sender as Button; int pId = int.Parse(btn.Uid); ICollection <string> chargeIds = listChargeShips(pId); if (chargeIds.Count > 0) { RequestBuilder.Instance.FleetCharge(pId, chargeIds); } MissionDetail md = (MissionDetail)Panel[pId].Mission.SelectedItem; if (md != null && md.Id != 0) { RequestBuilder.Instance.StartMission(pId + 1, md.Id); } } catch (Exception ex) { Debug.Print(ex.ToString()); } }