return [new NextStep()];
case EInteractionType.WaitForObjectAtPosition:
- return [serviceProvider.GetRequiredService<WaitObjectAtPosition>(), new NextStep()];
+ ArgumentNullException.ThrowIfNull(step.DataId);
+ ArgumentNullException.ThrowIfNull(step.Position);
+
+ return
+ [
+ serviceProvider.GetRequiredService<WaitObjectAtPosition>()
+ .With(step.DataId.Value, step.Position.Value),
+ serviceProvider.GetRequiredService<WaitDelay>(),
+ new NextStep()
+ ];
default:
return [serviceProvider.GetRequiredService<WaitDelay>(), new NextStep()];
public uint DataId { get; set; }
public Vector3 Destination { get; set; }
+ public ITask With(uint dataId, Vector3 destination)
+ {
+ DataId = dataId;
+ Destination = destination;
+ return this;
+ }
+
public bool Start() => true;
public ETaskResult Update() =>