2023-07-28 11:48:57 +03:00
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
public class MonumentController : MonoBehaviour
|
|
|
|
|
{
|
|
|
|
|
[SerializeField]
|
|
|
|
|
private float _energyToUnlock;
|
|
|
|
|
[SerializeField]
|
2023-08-07 13:23:18 +03:00
|
|
|
|
private MonumentInfo _info;
|
2023-07-28 11:48:57 +03:00
|
|
|
|
|
2023-08-07 13:23:18 +03:00
|
|
|
|
private PlayerSetup _playerSetup;
|
2023-07-28 11:48:57 +03:00
|
|
|
|
private EnergyController _energyController;
|
|
|
|
|
private float _currentEnergy;
|
|
|
|
|
|
2023-08-07 13:23:18 +03:00
|
|
|
|
|
2023-07-28 11:48:57 +03:00
|
|
|
|
private void Awake()
|
|
|
|
|
{
|
2023-08-07 13:23:18 +03:00
|
|
|
|
_playerSetup = FindObjectOfType<PlayerSetup>();
|
2023-07-28 11:48:57 +03:00
|
|
|
|
_energyController = FindObjectOfType<EnergyController>();
|
|
|
|
|
_currentEnergy = _energyToUnlock;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void UnlockMonument()
|
|
|
|
|
{
|
|
|
|
|
var totalEnergy = _energyController.Energy;
|
|
|
|
|
|
2023-08-07 13:23:18 +03:00
|
|
|
|
LeanTween.value(totalEnergy, 0, 1).setEase(LeanTweenType.easeInOutSine).setOnUpdate((float x)=>
|
2023-07-28 11:48:57 +03:00
|
|
|
|
{
|
|
|
|
|
_energyController.Energy = x;
|
|
|
|
|
_currentEnergy = Mathf.Clamp(_energyToUnlock - (totalEnergy - x), 0, int.MaxValue);
|
|
|
|
|
Debug.Log($"Clamped energy value: {_currentEnergy / _energyToUnlock}");
|
|
|
|
|
});
|
2023-08-07 13:23:18 +03:00
|
|
|
|
|
|
|
|
|
//TODO: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
_playerSetup.UnlockMonument(_info, _currentEnergy);
|
2023-07-28 11:48:57 +03:00
|
|
|
|
}
|
|
|
|
|
}
|