public void DownKeyword() { var tokenizer = new EclTokenizer(); var parsed = EclParser.Command.Parse(tokenizer.Tokenize("(DOWN 123)")); var elevatorCommand = new ElevatorCommand() { Distance = new Distance() { IsRelative = false, Value = -123 }, }; Assert.Equal(elevatorCommand, parsed); }
/// <summary> /// 完成作业. /// </summary> /// <param name="cmd"></param> public void FinishJob(ElevatorCommand cmd) { if (cmd.StopAtFloorNum == this.FloorNo) { // 如果 命令代码 与 楼层代码相同. if (cmd.StopWhen == Elevator.ElevatorRunningStatus.Up) { // 恢复按钮颜色 this.btnUp.BackColor = SystemColors.Control; } else if (cmd.StopWhen == Elevator.ElevatorRunningStatus.Down) { // 恢复按钮颜色 this.btnDown.BackColor = SystemColors.Control; } } }
/// <summary> /// 任务完成事件. /// </summary> /// <param name="cmd"></param> private void my_ElevatorJobFinish(ElevatorCommand cmd) { Invoke(new Action(() => { for (int i = 0; i < myFloorArray.Length; i++) { myFloorArray[i].FinishJob(cmd); } ucElevato.FinishJob(cmd); this.Refresh(); })); // 模拟延迟 1秒. Thread.Sleep(1000); }
/// <summary> /// 完成作业. /// </summary> /// <param name="cmd"></param> public void FinishJob(ElevatorCommand cmd) { buttonArray[cmd.StopAtFloorNum - 1].BackColor = SystemColors.Control; }