public static void ExecuteAction(this ChannelWaiterAction a, int actionId = 0) { Messenger.Default.Send(new WaitForChannelFreeMessage() { Channel = a.ChannelToWait, BackNotifyId = actionId }); }
private void Execute(ChannelWaiterAction action, int notifyId) { NotifyExecuted(notifyId); }
private void AddActionCommandImpl() { BaseAction action = null; switch (ActionType) { case ActionType.AddPanel: action = new AddPanelAction(); break; case ActionType.LinearPositionLink: action = new LinearPositionLinkAction(); break; case ActionType.TwoPositionLink: action = new TwoPositionLinkAction(); break; case ActionType.LoadTool: action = new LoadToolAction(); break; case ActionType.UnloadTool: action = new UnloadToolAction(); break; case ActionType.LinearPositionLinkGantryOn: action = new LinearPositionLinkGantryOnAction(); break; case ActionType.LinearPositionLinkGantryOff: action = new LinearPositionLinkGantryOffAction(); break; case ActionType.LinearInterpolatedPositionLink: action = new LinearInterpolatedPositionLinkAction(); break; case ActionType.ArcInterpolatedPositionLink: action = new ArcInterpolatedPositionLinkAction(); break; case ActionType.ChannelWaiter: action = new ChannelWaiterAction(); break; case ActionType.NotOperation: action = new NotOperationAction(); break; default: break; } if (action != null) { action.Id = _index++; action.Name = $"Action {action.Id}"; Actions.Add(action); MachineStep.Actions.Add(action); } else { throw new InvalidOperationException("Action type not supported!"); } }