void StartLevel() { if (currentLevel >= gameConfiguration.Levels.Count) { GameComplete(); return; } levelGenerator.Generate(gameConfiguration.Levels[currentLevel]); PlacePlayer(); energyHandler.RefillEnergy(); energyHandler.OnEnergyDepleeted += GameOver; playerInputHandler.EnablePlayerInput(); gameStarted = true; BoxesCollected = 0; CurrentLevelBoxes = levelGenerator.SpawnedBoxes; OnGameStart?.Invoke(); }