GameTokenInfoComponentSystem.cs 936 B

123456789101112131415161718192021222324252627282930
  1. namespace ET.Server
  2. {
  3. [FriendOf(typeof(GameTokenInfoComponent))]
  4. public static class GameTokenInfoComponentSystem
  5. {
  6. public static void Add(this GameTokenInfoComponent self, string token, long userId)
  7. {
  8. self.tokenInfo.Add(token, userId);
  9. self.TimeoutRemoveKey(token).Coroutine();
  10. }
  11. public static long Get(this GameTokenInfoComponent self, string token)
  12. {
  13. long userId = 0;
  14. self.tokenInfo.TryGetValue(token, out userId);
  15. return userId;
  16. }
  17. public static void Remove(this GameTokenInfoComponent self, string token)
  18. {
  19. self.tokenInfo.Remove(token);
  20. }
  21. private static async ETTask TimeoutRemoveKey(this GameTokenInfoComponent self, string token)
  22. {
  23. await TimerComponent.Instance.WaitAsync(20000);
  24. self.tokenInfo.Remove(token);
  25. }
  26. }
  27. }