// constructor adds Managers to the GameManager and sets state and direction public GameManager(LevelManager levelManager) { GameObject.OnDeathListener += DeathListener; LevelManager = levelManager; InputManager = new InputManager(); CollisionManager = new CollisionManager(); SpawnManager = new SpawnManager(); GameState = EGameState.Running; OnGameStateChangedListener(GameState); CurrentDirection = EDirection.South; OnDirectionChangedListener(CurrentDirection); GameLoop(); }