SessionAcceptTimeoutComponentSystem.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. namespace ET
  3. {
  4. [Invoke(TimerInvokeType.SessionAcceptTimeout)]
  5. public class SessionAcceptTimeout: ATimer<SessionAcceptTimeoutComponent>
  6. {
  7. protected override void Run(SessionAcceptTimeoutComponent self)
  8. {
  9. try
  10. {
  11. self.Parent.Dispose();
  12. }
  13. catch (Exception e)
  14. {
  15. Log.Error($"move timer error: {self.Id}\n{e}");
  16. }
  17. }
  18. }
  19. [ObjectSystem]
  20. public class SessionAcceptTimeoutComponentAwakeSystem: AwakeSystem<SessionAcceptTimeoutComponent>
  21. {
  22. protected override void Awake(SessionAcceptTimeoutComponent self)
  23. {
  24. self.Timer = TimerComponent.Instance.NewOnceTimer(TimeHelper.ServerNow() + 5000, TimerInvokeType.SessionAcceptTimeout, self);
  25. }
  26. }
  27. [ObjectSystem]
  28. public class SessionAcceptTimeoutComponentDestroySystem: DestroySystem<SessionAcceptTimeoutComponent>
  29. {
  30. protected override void Destroy(SessionAcceptTimeoutComponent self)
  31. {
  32. TimerComponent.Instance.Remove(ref self.Timer);
  33. }
  34. }
  35. }