rabidus-test/Assets/MonumentController.cs

35 lines
963 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonumentController : MonoBehaviour
{
[SerializeField]
private float _energyToUnlock;
[SerializeField]
private float _unlockTime = 1;
[SerializeField]
private LeanTweenType _ease;
private EnergyController _energyController;
private float _currentEnergy;
private void Awake()
{
_energyController = FindObjectOfType<EnergyController>();
_currentEnergy = _energyToUnlock;
}
public void UnlockMonument()
{
var totalEnergy = _energyController.Energy;
LeanTween.value(totalEnergy, 0, _unlockTime).setEase(_ease).setOnUpdate((float x)=>
{
_energyController.Energy = x;
_currentEnergy = Mathf.Clamp(_energyToUnlock - (totalEnergy - x), 0, int.MaxValue);
Debug.Log($"Clamped energy value: {_currentEnergy / _energyToUnlock}");
});
}
}