ISceneManager.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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. using GameFramework.Resource;
  8. using System;
  9. using System.Collections.Generic;
  10. namespace GameFramework.Scene
  11. {
  12. /// <summary>
  13. /// 场景管理器接口。
  14. /// </summary>
  15. public interface ISceneManager
  16. {
  17. /// <summary>
  18. /// 加载场景成功事件。
  19. /// </summary>
  20. event EventHandler<LoadSceneSuccessEventArgs> LoadSceneSuccess;
  21. /// <summary>
  22. /// 加载场景失败事件。
  23. /// </summary>
  24. event EventHandler<LoadSceneFailureEventArgs> LoadSceneFailure;
  25. /// <summary>
  26. /// 加载场景更新事件。
  27. /// </summary>
  28. event EventHandler<LoadSceneUpdateEventArgs> LoadSceneUpdate;
  29. /// <summary>
  30. /// 加载场景时加载依赖资源事件。
  31. /// </summary>
  32. event EventHandler<LoadSceneDependencyAssetEventArgs> LoadSceneDependencyAsset;
  33. /// <summary>
  34. /// 卸载场景成功事件。
  35. /// </summary>
  36. event EventHandler<UnloadSceneSuccessEventArgs> UnloadSceneSuccess;
  37. /// <summary>
  38. /// 卸载场景失败事件。
  39. /// </summary>
  40. event EventHandler<UnloadSceneFailureEventArgs> UnloadSceneFailure;
  41. /// <summary>
  42. /// 设置资源管理器。
  43. /// </summary>
  44. /// <param name="resourceManager">资源管理器。</param>
  45. void SetResourceManager(IResourceManager resourceManager);
  46. /// <summary>
  47. /// 获取场景是否已加载。
  48. /// </summary>
  49. /// <param name="sceneAssetName">场景资源名称。</param>
  50. /// <returns>场景是否已加载。</returns>
  51. bool SceneIsLoaded(string sceneAssetName);
  52. /// <summary>
  53. /// 获取已加载场景的资源名称。
  54. /// </summary>
  55. /// <returns>已加载场景的资源名称。</returns>
  56. string[] GetLoadedSceneAssetNames();
  57. /// <summary>
  58. /// 获取已加载场景的资源名称。
  59. /// </summary>
  60. /// <param name="results">已加载场景的资源名称。</param>
  61. void GetLoadedSceneAssetNames(List<string> results);
  62. /// <summary>
  63. /// 获取场景是否正在加载。
  64. /// </summary>
  65. /// <param name="sceneAssetName">场景资源名称。</param>
  66. /// <returns>场景是否正在加载。</returns>
  67. bool SceneIsLoading(string sceneAssetName);
  68. /// <summary>
  69. /// 获取正在加载场景的资源名称。
  70. /// </summary>
  71. /// <returns>正在加载场景的资源名称。</returns>
  72. string[] GetLoadingSceneAssetNames();
  73. /// <summary>
  74. /// 获取正在加载场景的资源名称。
  75. /// </summary>
  76. /// <param name="results">正在加载场景的资源名称。</param>
  77. void GetLoadingSceneAssetNames(List<string> results);
  78. /// <summary>
  79. /// 获取场景是否正在卸载。
  80. /// </summary>
  81. /// <param name="sceneAssetName">场景资源名称。</param>
  82. /// <returns>场景是否正在卸载。</returns>
  83. bool SceneIsUnloading(string sceneAssetName);
  84. /// <summary>
  85. /// 获取正在卸载场景的资源名称。
  86. /// </summary>
  87. /// <returns>正在卸载场景的资源名称。</returns>
  88. string[] GetUnloadingSceneAssetNames();
  89. /// <summary>
  90. /// 获取正在卸载场景的资源名称。
  91. /// </summary>
  92. /// <param name="results">正在卸载场景的资源名称。</param>
  93. void GetUnloadingSceneAssetNames(List<string> results);
  94. /// <summary>
  95. /// 检查场景资源是否存在。
  96. /// </summary>
  97. /// <param name="sceneAssetName">要检查场景资源的名称。</param>
  98. /// <returns>场景资源是否存在。</returns>
  99. bool HasScene(string sceneAssetName);
  100. /// <summary>
  101. /// 加载场景。
  102. /// </summary>
  103. /// <param name="sceneAssetName">场景资源名称。</param>
  104. void LoadScene(string sceneAssetName);
  105. /// <summary>
  106. /// 加载场景。
  107. /// </summary>
  108. /// <param name="sceneAssetName">场景资源名称。</param>
  109. /// <param name="priority">加载场景资源的优先级。</param>
  110. void LoadScene(string sceneAssetName, int priority);
  111. /// <summary>
  112. /// 加载场景。
  113. /// </summary>
  114. /// <param name="sceneAssetName">场景资源名称。</param>
  115. /// <param name="userData">用户自定义数据。</param>
  116. void LoadScene(string sceneAssetName, object userData);
  117. /// <summary>
  118. /// 加载场景。
  119. /// </summary>
  120. /// <param name="sceneAssetName">场景资源名称。</param>
  121. /// <param name="priority">加载场景资源的优先级。</param>
  122. /// <param name="userData">用户自定义数据。</param>
  123. void LoadScene(string sceneAssetName, int priority, object userData);
  124. /// <summary>
  125. /// 卸载场景。
  126. /// </summary>
  127. /// <param name="sceneAssetName">场景资源名称。</param>
  128. void UnloadScene(string sceneAssetName);
  129. /// <summary>
  130. /// 卸载场景。
  131. /// </summary>
  132. /// <param name="sceneAssetName">场景资源名称。</param>
  133. /// <param name="userData">用户自定义数据。</param>
  134. void UnloadScene(string sceneAssetName, object userData);
  135. }
  136. }