ActiveSceneChangedEventArgs.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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;
  8. using GameFramework.Event;
  9. using UnityEngine.SceneManagement;
  10. namespace UnityGameFramework.Runtime
  11. {
  12. /// <summary>
  13. /// 激活场景被改变事件。
  14. /// </summary>
  15. public sealed class ActiveSceneChangedEventArgs : GameEventArgs
  16. {
  17. /// <summary>
  18. /// 激活场景被改变事件编号。
  19. /// </summary>
  20. public static readonly int EventId = typeof(ActiveSceneChangedEventArgs).GetHashCode();
  21. /// <summary>
  22. /// 初始化激活场景被改变事件的新实例。
  23. /// </summary>
  24. public ActiveSceneChangedEventArgs()
  25. {
  26. LastActiveScene = default(Scene);
  27. ActiveScene = default(Scene);
  28. }
  29. /// <summary>
  30. /// 获取激活场景被改变事件编号。
  31. /// </summary>
  32. public override int Id
  33. {
  34. get
  35. {
  36. return EventId;
  37. }
  38. }
  39. /// <summary>
  40. /// 获取上一个被激活的场景。
  41. /// </summary>
  42. public Scene LastActiveScene
  43. {
  44. get;
  45. private set;
  46. }
  47. /// <summary>
  48. /// 获取被激活的场景。
  49. /// </summary>
  50. public Scene ActiveScene
  51. {
  52. get;
  53. private set;
  54. }
  55. /// <summary>
  56. /// 创建激活场景被改变事件。
  57. /// </summary>
  58. /// <param name="lastActiveScene">上一个被激活的场景。</param>
  59. /// <param name="activeScene">被激活的场景。</param>
  60. /// <returns>创建的激活场景被改变事件。</returns>
  61. public static ActiveSceneChangedEventArgs Create(Scene lastActiveScene, Scene activeScene)
  62. {
  63. ActiveSceneChangedEventArgs activeSceneChangedEventArgs = ReferencePool.Acquire<ActiveSceneChangedEventArgs>();
  64. activeSceneChangedEventArgs.LastActiveScene = lastActiveScene;
  65. activeSceneChangedEventArgs.ActiveScene = activeScene;
  66. return activeSceneChangedEventArgs;
  67. }
  68. /// <summary>
  69. /// 清理激活场景被改变事件。
  70. /// </summary>
  71. public override void Clear()
  72. {
  73. LastActiveScene = default(Scene);
  74. ActiveScene = default(Scene);
  75. }
  76. }
  77. }