Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. public class GameController : MonoBehaviour
  2. {
  3. //this controller is persistent across the whole game
  4. private LevelController levelController;
  5.  
  6. private GameState currentGameState;
  7. private GameState lastGameState;
  8.  
  9. [SerializeField]
  10. PlayerController player;
  11. static PlayerController playerInstance;
  12. public static PlayerController Player { get { return playerInstance; } }
  13.  
  14. void Start()
  15. {
  16. playerInstance = player;
  17. currentGameState = GameState.gameplayState;
  18. currentGameState.Enter();
  19. }
  20.  
  21. public void ChangeGameState(GameState newState)
  22. {
  23. currentGameState.Exit();
  24. lastGameState = currentGameState;
  25. currentGameState = newState;
  26. currentGameState.Enter();
  27. }
  28.  
  29. private void Update()
  30. {
  31. currentGameState.UpdateState();
  32. }
  33.  
  34. private void FixedUpdate()
  35. {
  36. currentGameState.FixedUpdateState();
  37. }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement