Files
TEngine/Assets/GameScripts/DotNet/Hotfix/Client/Demo/AI/AI_XunLuo.cs
ALEXTANG 336d4b2eb9 [+] 接入ET8服务端
[+] 接入ET8服务端
2023-07-13 12:23:48 +08:00

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