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

43 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace ET.Client
{
public class AI_Attack: 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)
{
Fiber fiber = aiComponent.Fiber();
Unit myUnit = UnitHelper.GetMyUnitFromClientScene(fiber.Root);
if (myUnit == null)
{
return;
}
// 停在当前位置
fiber.Root.GetComponent<ClientSenderCompnent>().Send(new C2M_Stop());
Log.Debug("开始攻击");
for (int i = 0; i < 100000; ++i)
{
Log.Debug($"攻击: {i}次");
// 因为协程可能被中断任何协程都要传入cancellationToken判断如果是中断则要返回
await fiber.TimerComponent.WaitAsync(1000, cancellationToken);
if (cancellationToken.IsCancel())
{
return;
}
}
}
}
}