SceneManager.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using UnityEngine;
  2. using System.Collections;
  3. public class SceneManager {
  4. // Properties
  5. public string[] levelNames;
  6. private int _currentLevel;
  7. // ================================================================================================================
  8. // EXTENDED INTERFACE ---------------------------------------------------------------------------------------------
  9. public void Start() {
  10. // keep this object alive
  11. _currentLevel = -1;
  12. }
  13. // ================================================================================================================
  14. // PRIVATE INTERFACE ----------------------------------------------------------------------------------------------
  15. private void loadLevel(string __sceneName) {
  16. Application.LoadLevel(__sceneName);
  17. }
  18. private void loadLevel(int __index) {
  19. loadLevel(levelNames[__index]);
  20. }
  21. // ================================================================================================================
  22. // ACCESSOR INTERFACE -----------------------------------------------------------------------------------------------
  23. public int currentLevel {
  24. get {
  25. return _currentLevel;
  26. }
  27. }
  28. // ================================================================================================================
  29. // PUBLIC INTERFACE -----------------------------------------------------------------------------------------------
  30. public void loadNextLevel() {
  31. int nextLevel = (_currentLevel + 1) % levelNames.Length;
  32. loadLevel(nextLevel);
  33. _currentLevel = nextLevel;
  34. }
  35. }