81 lines
1.6 KiB
C#
81 lines
1.6 KiB
C#
using OHM.UnityToolkit;
|
|
using OHM.UnityToolkit.UI;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
public class UIVictory : UIMenu
|
|
{
|
|
[SerializeField]
|
|
[FormerlySerializedAs("scoreCounter")]
|
|
private UIIncrementableCounter _scoreCounter;
|
|
|
|
[SerializeField]
|
|
private UIIncrementableCounter levelCounter;
|
|
|
|
[SerializeField]
|
|
[FormerlySerializedAs("best")]
|
|
private GameObject _best;
|
|
|
|
[SerializeField]
|
|
[FormerlySerializedAs("continueCoins")]
|
|
private GameObject _continueCoins;
|
|
|
|
[SerializeField]
|
|
[FormerlySerializedAs("continueNoCoins")]
|
|
private GameObject _continueNoCoins;
|
|
|
|
[SerializeField]
|
|
[FormerlySerializedAs("collectDuration")]
|
|
private float _collectDuration = 0.8f;
|
|
|
|
[SerializeField]
|
|
private SFX sfx;
|
|
|
|
private bool _canGetMoney;
|
|
|
|
public override void Show()
|
|
{
|
|
base.Show();
|
|
_canGetMoney = true;
|
|
if (_scoreCounter != null)
|
|
{
|
|
_scoreCounter.Init(0L);
|
|
_scoreCounter.SetTargetValue(appController.coreGame.scoreController.Score);
|
|
}
|
|
_continueCoins.SetActive(value: false);
|
|
_continueNoCoins.SetActive(value: false);
|
|
if (levelCounter != null)
|
|
{
|
|
levelCounter.Init(appController.GetPlayerLevel());
|
|
}
|
|
if (_best != null)
|
|
{
|
|
_best.SetActive(appController.coreGame.scoreController.Score >= appController.GetBestScore());
|
|
}
|
|
ShowContinuesButton();
|
|
}
|
|
|
|
private void ShowContinuesButton()
|
|
{
|
|
_continueCoins.SetActive(value: true);
|
|
_continueNoCoins.SetActive(value: false);
|
|
sfx.Play(base.transform);
|
|
}
|
|
|
|
public void CollectAndContinue()
|
|
{
|
|
if (_canGetMoney)
|
|
{
|
|
appController.coreGame.WinCurrencies();
|
|
_canGetMoney = false;
|
|
}
|
|
|
|
Invoke(nameof(Quit), _collectDuration);
|
|
}
|
|
|
|
private void Quit()
|
|
{
|
|
appController.Quit();
|
|
}
|
|
}
|