51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
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;
|
|
[Inject] private IGameScreenController IgameScreenController;
|
|
public DeathScreenController(DeathScreenView _deathScreenView)
|
|
{
|
|
deathScreenView = _deathScreenView;
|
|
deathScreenView.restartBtn.onClick.AddListener(OnRestartButtonClicked);
|
|
deathScreenView.exitBtn.onClick.AddListener(OnExitButtonClicked);
|
|
}
|
|
|
|
public void ShowDeathScreen()
|
|
{
|
|
IgameScreenController.HideGameScreen();
|
|
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();
|
|
IgameSession.showStartScreen = false;
|
|
SceneManager.LoadScene(0);
|
|
}
|
|
}
|
|
|
|
public interface IDeathScreenController
|
|
{
|
|
void ShowDeathScreen();
|
|
} |