mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
[+] 接入ET8服务端
[+] 接入ET8服务端
This commit is contained in:
43
Assets/GameScripts/DotNet/Hotfix/Client/Demo/AI/AI_Attack.cs
Normal file
43
Assets/GameScripts/DotNet/Hotfix/Client/Demo/AI/AI_Attack.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: de532cb8e5e687a4bb61aa666459d086
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
42
Assets/GameScripts/DotNet/Hotfix/Client/Demo/AI/AI_XunLuo.cs
Normal file
42
Assets/GameScripts/DotNet/Hotfix/Client/Demo/AI/AI_XunLuo.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d77ea7dfe040894aa330386e3b7bb8f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,18 @@
|
||||
using Unity.Mathematics;
|
||||
|
||||
namespace ET.Client
|
||||
{
|
||||
[FriendOf(typeof(XunLuoPathComponent))]
|
||||
public static partial class XunLuoPathComponentSystem
|
||||
{
|
||||
public static float3 GetCurrent(this XunLuoPathComponent self)
|
||||
{
|
||||
return self.path[self.Index];
|
||||
}
|
||||
|
||||
public static void MoveNext(this XunLuoPathComponent self)
|
||||
{
|
||||
self.Index = ++self.Index % self.path.Length;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4293e004a928ffb43bf52f374808d139
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user