QueueMgrComponent.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System.Collections.Generic;
  2. using System.Security.AccessControl;
  3. namespace ET
  4. {
  5. public class QueueInfo : Entity, IAwake, IDestroy
  6. {
  7. public long UnitId;
  8. public long GateActorId;
  9. public long AccountId;
  10. public int Index;
  11. public int UnitZone;
  12. //这里可以放玩家等级,vip等级,ip,权限等等的
  13. }
  14. public struct ProtectInfo
  15. {
  16. public long UnitId;
  17. public long Time;
  18. public int UnitZone;
  19. }
  20. public class QueueMgrComponent : Entity, IAwake, IDestroy
  21. {
  22. //允许在线的玩家
  23. //public HashSet<long> Online = new HashSet<long>();
  24. //排队队列
  25. public HashLinkedList<long, QueueInfo> Queue = new HashLinkedList<long, QueueInfo>();
  26. //掉线保护的玩家
  27. public HashLinkedList<long, ProtectInfo> Protects = new HashLinkedList<long, ProtectInfo>();
  28. // public Dictionary<int, int> SceneUnitCountDic = new Dictionary<int, int>();
  29. public Dictionary<int, HashSet<long>> MapOnlines = new Dictionary<int, HashSet<long>>();
  30. //map探活刷新时间,使用异步刷新,超出30S没有刷新的,移动到LoseMapIds
  31. public Dictionary<int, long> MapIds2TimeDic = new Dictionary<int, long>();
  32. //失效mapId,分配的时候,从这里进行过滤
  33. public HashSet<int> LoseMapIds = new HashSet<int>();
  34. public long Timer_Trick;
  35. public long Timer_ClearProtect;
  36. public long Timer_Update;
  37. public long Timer_QueueExploringActivityMap;
  38. public StartGlobalConfig GlobalConfig => StartGlobalConfigCategory.Instance.GlobalConfig;
  39. }
  40. }