using System; using UnityEngine; using UnityEngine.SceneManagement; using VContainer; using VContainer.Unity; public class DeathScreenController:IDeathScreenController { private DeathScreenView deathScreenView; [Inject] private IScoreService IscoreService; [Inject] private IInputReader IinputReader; [Inject] private IAudioController IaudioController; [Inject] private IGameSession IgameSession; public DeathScreenController(DeathScreenView _deathScreenView) { deathScreenView = _deathScreenView; deathScreenView.restartBtn.onClick.AddListener(OnRestartButtonClicked); deathScreenView.exitBtn.onClick.AddListener(OnExitButtonClicked); } public void ShowDeathScreen() { deathScreenView.Show(IscoreService.score,IscoreService.highScore); } private void OnExitButtonClicked() { Debug.Log("Exit Button Clicked"); IinputReader.UnlockInput(); IaudioController.PlayBtnPressedSound(); IgameSession.showStartScreen = true; SceneManager.LoadScene(0); } private void OnRestartButtonClicked() { Debug.Log("Restart Button Clicked"); IinputReader.UnlockInput(); IaudioController.PlayBtnPressedSound(); SceneManager.LoadScene(0); } } public interface IDeathScreenController { void ShowDeathScreen(); }