protected void RefreshOrdersFilterXML(bool clear, bool sendMail) { if (clear) { CurrentOrders.Clear(); } GlobalStatus.Current.IsBusy = true; if (!sendMail) { OrdersClient.GetFilteredOrdersFromFilterAsync(Filter, OrdersClientContext.Current.SessionGUID); } else { OrdersClient.GetFilteredOrdersFromFilterToMailAsync(Filter, OrdersClientContext.Current.SessionGUID); } LastUpdate = DateTime.Now; }
private void MoveTowardsTarget() { if (Move()) { // Finish orders Simulation.ClosedOrders.AddRange(CurrentOrders); // Clear order-related variables CurrentOrders.Clear(); PathToTarget.Clear(); CurrentTarget = null; DistanceToCurrentTarget = 0d; TimeToCurrentTarget = 0d; DistanceTraveled = 0d; State = VehicleState.Idle; } }
private void OrdersClient_GetFilteredOrdersFromFilterCompleted(object sender, GetFilteredOrdersFromFilterCompletedEventArgs e) { if (e.Error == null) { CurrentOrders.Clear(); foreach (Order order in e.Result) { CurrentOrders.Add(order); } CurrentView.Source = CurrentOrders; LastUpdate = DateTime.Now; } else { MessageBox.Show("Ошибка при загрузке данных "); } GlobalStatus.Current.IsBusy = false; }
public void Set_Orders() { NewOrders.Clear(); ConfirmOrders.Clear(); CurrentOrders.Clear(); foreach (var order in IoC.Application_Work.All_Orders) { if (order.Status == StatusOfProduct.Inpprocessing || order.Status == StatusOfProduct.HoldDispetcherToDriverAccept) { NewOrders.Add(Make_UserProductsViewModel(order)); } else if (order.Status == StatusOfProduct.Current) { CurrentOrders.Add(Make_UserProductsViewModel(order)); } else if (order.Status == StatusOfProduct.Completed) { ConfirmOrders.Add(Make_UserProductsViewModel(order)); } } }
public void SetOrder(Order order, string option, int priority, Character orderGiver, bool speak) { if (character.IsDead) { #if DEBUG DebugConsole.ThrowError("Attempted to set an order for a dead character"); #else return; #endif } ClearIgnored(); if (order == null || order.Identifier == "dismissed") { if (!string.IsNullOrEmpty(option)) { if (CurrentOrders.Any(o => o.MatchesDismissedOrder(option))) { var dismissedOrderInfo = CurrentOrders.First(o => o.MatchesDismissedOrder(option)); CurrentOrders.Remove(dismissedOrderInfo); } } else { CurrentOrders.Clear(); } } // Make sure the order priorities reflect those set by the player for (int i = CurrentOrders.Count - 1; i >= 0; i--) { var currentOrder = CurrentOrders[i]; if (currentOrder.Objective == null || currentOrder.MatchesOrder(order, option)) { CurrentOrders.RemoveAt(i); continue; } var currentOrderInfo = character.GetCurrentOrder(currentOrder.Order, currentOrder.OrderOption); if (currentOrderInfo.HasValue) { int currentPriority = currentOrderInfo.Value.ManualPriority; if (currentOrder.ManualPriority != currentPriority) { CurrentOrders[i] = new OrderInfo(currentOrder, currentPriority); } } else { CurrentOrders.RemoveAt(i); } } var newCurrentOrder = CreateObjective(order, option, orderGiver, isAutonomous: false); if (newCurrentOrder != null) { CurrentOrders.Add(new OrderInfo(order, option, priority, newCurrentOrder)); } if (!HasOrders()) { // Recreate objectives, because some of them may be removed, if impossible to complete (e.g. due to path finding) CreateAutonomousObjectives(); } else { // This should be redundant, because all the objectives are reset when they are selected as active. newCurrentOrder?.Reset(); if (speak && character.IsOnPlayerTeam) { character.Speak(TextManager.Get("DialogAffirmative"), null, 1.0f); //if (speakRoutine != null) //{ // CoroutineManager.StopCoroutines(speakRoutine); //} //speakRoutine = CoroutineManager.InvokeAfter(() => //{ // if (GameMain.GameSession == null || Level.Loaded == null) { return; } // if (newCurrentOrder != null && character.SpeechImpediment < 100.0f) // { // if (newCurrentOrder is AIObjectiveRepairItems repairItems && repairItems.Targets.None()) // { // character.Speak(TextManager.Get("DialogNoRepairTargets"), null, 3.0f, "norepairtargets"); // } // else if (newCurrentOrder is AIObjectiveChargeBatteries chargeBatteries && chargeBatteries.Targets.None()) // { // character.Speak(TextManager.Get("DialogNoBatteries"), null, 3.0f, "nobatteries"); // } // else if (newCurrentOrder is AIObjectiveExtinguishFires extinguishFires && extinguishFires.Targets.None()) // { // character.Speak(TextManager.Get("DialogNoFire"), null, 3.0f, "nofire"); // } // else if (newCurrentOrder is AIObjectiveFixLeaks fixLeaks && fixLeaks.Targets.None()) // { // character.Speak(TextManager.Get("DialogNoLeaks"), null, 3.0f, "noleaks"); // } // else if (newCurrentOrder is AIObjectiveFightIntruders fightIntruders && fightIntruders.Targets.None()) // { // character.Speak(TextManager.Get("DialogNoEnemies"), null, 3.0f, "noenemies"); // } // else if (newCurrentOrder is AIObjectiveRescueAll rescueAll && rescueAll.Targets.None()) // { // character.Speak(TextManager.Get("DialogNoRescueTargets"), null, 3.0f, "norescuetargets"); // } // else if (newCurrentOrder is AIObjectivePumpWater pumpWater && pumpWater.Targets.None()) // { // character.Speak(TextManager.Get("DialogNoPumps"), null, 3.0f, "nopumps"); // } // } //}, 3); } } }