/// <summary> /// Put mine on robot position. /// </summary> public PutMineAnswerCommand PutMine() { PutMineAnswerCommand answer = new PutMineAnswerCommand(); addRobotTask(PutMineAsync(answer)); return(answer); }
/// <summary> /// Put mine on robot position. /// </summary> /// <param name="destination">Where to fill answer data.</param> private async Task <PutMineAnswerCommand> PutMineAsync(PutMineAnswerCommand destination) { await sendCommandAsync(new PutMineCommand()); Point position = Position; PutMineAnswerCommand answerCommand = await receiveCommandAsync <PutMineAnswerCommand>(); destination.FillData(answerCommand); if (answerCommand.SUCCESS) { PutMinesList.Add(new Mine(id: answerCommand.MINE_ID) { Y = position.X, X = position.Y }); } if (answerCommand.SUCCESS) { PutMines++; } return(answerCommand); }