rabidus-test/Assets/Scripts/MonumentController.cs

58 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class MonumentController : MonoBehaviour
{
[SerializeField]
private float _energyToUnlock;
[SerializeField]
private MonumentInfo _info;
private EnergyController _energyController;
private float _currentEnergy;
private ScoreController _scoreController;
private CockpitUIModule _cockpitUI;
private MonumentPreviewSound _previewSound;
private MonumentPreview _monumentPreview;
public UnityEvent OnUnlock;
private void Awake()
{
_monumentPreview = FindObjectOfType<MonumentPreview>();
_previewSound = FindObjectOfType<MonumentPreviewSound>();
_scoreController = FindObjectOfType<ScoreController>();
_cockpitUI = FindObjectOfType<CockpitUIModule>();
_energyController = FindObjectOfType<EnergyController>();
_currentEnergy = _energyToUnlock;
}
[ContextMenu("Debug Unlock")]
public void UnlockMonument()
{
OnUnlock?.Invoke();
//var totalEnergy = _energyController.Energy;
//LeanTween.value(totalEnergy, 0, 1).setEase(LeanTweenType.easeInOutSine).setOnUpdate((float x)=>
//{
// _energyController.Energy = x;
// _currentEnergy = Mathf.Clamp(_energyToUnlock - (totalEnergy - x), 0, int.MaxValue);
// Debug.Log($"Clamped energy value: {_currentEnergy / _energyToUnlock}");
//});
_scoreController.AddScore(_info.Score, false, false);
PlayerSetup.Instance.UnlockMonument(_info);
}
public void PlaySound()
{
_previewSound.PlaySound(_info.LongClip);
_monumentPreview.ShowInfo(_info.Name, _info.Image, _info.LongDescription);
}
public void ShowPreview()
{
_cockpitUI.ShowInfo(_info.Image, _info.Description);
}
}