43 lines
822 B
C#
43 lines
822 B
C#
namespace Questionable.Controller.Steps.Common;
|
|
|
|
internal sealed class WaitNavmesh
|
|
{
|
|
internal sealed record Task : ITask
|
|
{
|
|
public override string ToString()
|
|
{
|
|
return "Wait(navmesh)";
|
|
}
|
|
}
|
|
|
|
internal sealed class Executor(MovementController movementController) : TaskExecutor<Task>(), IDebugStateProvider, ITaskExecutor
|
|
{
|
|
protected override bool Start()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public override ETaskResult Update()
|
|
{
|
|
if (!movementController.IsNavmeshReady)
|
|
{
|
|
return ETaskResult.StillRunning;
|
|
}
|
|
return ETaskResult.TaskComplete;
|
|
}
|
|
|
|
public override bool ShouldInterruptOnDamage()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public string? GetDebugState()
|
|
{
|
|
if (!movementController.IsNavmeshReady)
|
|
{
|
|
return $"Navmesh: {movementController.BuiltNavmeshPercent}%";
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|