protected override void UpdateImpl()
 {
     if (Status == ExecutionStatus.InProgress && subject.ReachedDestination)
     {
         this.subject.CurrentTool = ToolType.None;
         target.SetToolCount(toolType, target.GetToolCount(toolType) + 1);
         Status = ExecutionStatus.Complete;
     }
 }
 protected override void UpdateImpl()
 {
     if (Status == ExecutionStatus.InProgress && subject.ReachedDestination)
     {
         this.subject.CurrentTool = toolType;
         source.SetToolCount(toolType, source.GetToolCount(toolType) - 1);
         Status = ExecutionStatus.Complete;
     }
 }