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

30 lines
945 B
C#

namespace ET.Server
{
[FriendOf(typeof(GateSessionKeyComponent))]
public static partial class GateSessionKeyComponentSystem
{
public static void Add(this GateSessionKeyComponent self, long key, string account)
{
self.sessionKey.Add(key, account);
self.TimeoutRemoveKey(key).Coroutine();
}
public static string Get(this GateSessionKeyComponent self, long key)
{
string account = null;
self.sessionKey.TryGetValue(key, out account);
return account;
}
public static void Remove(this GateSessionKeyComponent self, long key)
{
self.sessionKey.Remove(key);
}
private static async ETTask TimeoutRemoveKey(this GateSessionKeyComponent self, long key)
{
await self.Fiber().TimerComponent.WaitAsync(20000);
self.sessionKey.Remove(key);
}
}
}