mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
using Unity.Mathematics;
|
|
|
|
namespace ET.Client
|
|
{
|
|
public class AI_XunLuo: AAIHandler
|
|
{
|
|
public override int Check(AIComponent aiComponent, AIConfig aiConfig)
|
|
{
|
|
long sec = aiComponent.Fiber().TimeInfo.ClientNow() / 1000 % 15;
|
|
if (sec < 10)
|
|
{
|
|
return 0;
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
public override async ETTask Execute(AIComponent aiComponent, AIConfig aiConfig, ETCancellationToken cancellationToken)
|
|
{
|
|
Scene root = aiComponent.Root();
|
|
|
|
Unit myUnit = UnitHelper.GetMyUnitFromClientScene(root);
|
|
if (myUnit == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Log.Debug("开始巡逻");
|
|
|
|
while (true)
|
|
{
|
|
XunLuoPathComponent xunLuoPathComponent = myUnit.GetComponent<XunLuoPathComponent>();
|
|
float3 nextTarget = xunLuoPathComponent.GetCurrent();
|
|
await myUnit.MoveToAsync(nextTarget, cancellationToken);
|
|
if (cancellationToken.IsCancel())
|
|
{
|
|
return;
|
|
}
|
|
xunLuoPathComponent.MoveNext();
|
|
}
|
|
}
|
|
}
|
|
} |