qstbak/Questionable/Questionable.Controller.Steps.Common/WaitNavmesh.cs
2025-10-09 07:47:19 +10:00

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;
}
}
}