修改协议工具

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,40 @@
using Fantasy;
using Fantasy.Entitas.Interface;
// ReSharper disable ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
namespace NB.Authentication;
public sealed class AccountCacheInfoTimeOutDestroySystem : DestroySystem<AccountCacheInfoTimeOut>
{
protected override void Destroy(AccountCacheInfoTimeOut self)
{
if (self.TimerId != 0)
{
self.Scene.TimerComponent.Net.Remove(ref self.TimerId);
}
self.Key = null;
}
}
public static class AccountCacheInfoTimeOutSystem
{
public static void TimeOut(this AccountCacheInfoTimeOut self, string key, int timeout)
{
self.Key = key;
// 创建一个任务计时器、用在timeout时间后执行并且要清楚掉当前鉴权服务器缓存
var scene = self.Scene;
var runTimeId = self.RuntimeId;
self.TimerId = scene.TimerComponent.Net.OnceTimer(timeout, () =>
{
if (runTimeId != self.RuntimeId)
{
return;
}
self.TimerId = 0;
AuthenticationHelper.RemoveLoginAccounts(scene, self.Key,true);
});
}
}