Exemple #1
0
            protected override void StartExecutionImpl()
            {
                if (source.GetToolCount(toolType) < 1)
                {
                    throw new InvalidOperationException("not enough tools");
                }

                if (Subject.CurrentTool != ToolType.None)
                {
                    throw new InvalidOperationException("already carrying another tool");
                }

                Subject.MoveTo(source.transform.position);
                Status = ExecutionStatus.InProgress;
            }
Exemple #2
0
 protected override void UpdateImpl()
 {
     if (Status == ExecutionStatus.InProgress && Subject.ReachedDestination)
     {
         Subject.CurrentTool = ToolType.None;
         target.SetToolCount(toolType, target.GetToolCount(toolType) + 1);
         Status = ExecutionStatus.Complete;
     }
 }