修改协议工具

This commit is contained in:
2025-07-27 23:46:43 +08:00
parent 743c1d2baa
commit be33e12b35
112 changed files with 1021 additions and 1119 deletions

View File

@@ -0,0 +1,37 @@
using Fantasy;
using Fantasy.Entitas.Interface;
namespace NB.Authentication;
public sealed class AccountTimeOutDestroySystem : DestroySystem<AccountTimeOut>
{
protected override void Destroy(AccountTimeOut self)
{
if (self.TimerId != 0)
{
self.Scene.TimerComponent.Net.Remove(ref self.TimerId);
}
}
}
public static class AccountTimeOutSystem
{
public static void TimeOut(this AccountTimeOut self, int timeout)
{
// 创建一个任务计时器、用在timeout时间后执行并且要清楚掉当前鉴权服务器缓存
var scene = self.Scene;
var account = (Account)self.Parent;
var accountRunTimeId = account.RuntimeId;
self.TimerId = scene.TimerComponent.Net.OnceTimer(timeout, () =>
{
if (accountRunTimeId != account.RuntimeId)
{
return;
}
self.TimerId = 0;
AuthenticationHelper.RemoveCache(scene, account.Username,true);
});
}
}