ITaskAgent.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 loyalsoft. All rights reserved.
  4. // Homepage: http://www.game7000.com/
  5. // Feedback: http://www.game7000.com/
  6. //------------------------------------------------------------
  7. namespace GameFramework
  8. {
  9. /// <summary>
  10. /// 任务代理接口。
  11. /// </summary>
  12. /// <typeparam name="T">任务类型。</typeparam>
  13. internal interface ITaskAgent<T> where T : TaskBase
  14. {
  15. /// <summary>
  16. /// 获取任务。
  17. /// </summary>
  18. T Task
  19. {
  20. get;
  21. }
  22. /// <summary>
  23. /// 初始化任务代理。
  24. /// </summary>
  25. void Initialize();
  26. /// <summary>
  27. /// 任务代理轮询。
  28. /// </summary>
  29. /// <param name="elapseSeconds">逻辑流逝时间,以秒为单位。</param>
  30. /// <param name="realElapseSeconds">真实流逝时间,以秒为单位。</param>
  31. void Update(float elapseSeconds, float realElapseSeconds);
  32. /// <summary>
  33. /// 关闭并清理任务代理。
  34. /// </summary>
  35. void Shutdown();
  36. /// <summary>
  37. /// 开始处理任务。
  38. /// </summary>
  39. /// <param name="task">要处理的任务。</param>
  40. /// <returns>开始处理任务的状态。</returns>
  41. StartTaskStatus Start(T task);
  42. /// <summary>
  43. /// 停止正在处理的任务并重置任务代理。
  44. /// </summary>
  45. void Reset();
  46. }
  47. }