Player.cs 824 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Runtime.InteropServices;
  4. using AtomicEngine;
  5. namespace AtomicPlayer
  6. {
  7. public partial class Player : AObject
  8. {
  9. static List<Scene> loadedScenes = new List<Scene>();
  10. internal override void PostNativeUpdate()
  11. {
  12. SubscribeToEvent<PlayerSceneLoadBeginEvent>(e =>
  13. {
  14. loadedScenes.Add(e.Scene);
  15. });
  16. SubscribeToEvent<PlayerSceneLoadEndEvent>(e =>
  17. {
  18. if (!e.Success)
  19. loadedScenes.Remove(e.Scene);
  20. });
  21. SubscribeToEvent<PlayerSceneUnloadEvent>(e =>
  22. {
  23. if (loadedScenes.Contains(e.Scene))
  24. loadedScenes.Remove(e.Scene);
  25. });
  26. }
  27. }
  28. }