mirror of
https://github.com/ryzij/Cube-Tower-Defense.git
synced 2026-07-14 01:56:57 +00:00
Исправил обновление цены прокачки
This commit is contained in:
@@ -25,7 +25,7 @@ public class Turret : MonoBehaviour
|
||||
public float Damage => _damage;
|
||||
public float Distance => _distance;
|
||||
public int SellPrice => Mathf.RoundToInt(_price * _sellingMultiplier);
|
||||
public int UpgradeCost => Mathf.RoundToInt(_price * _upgradeCostMultiplier);
|
||||
public int UpgradeCost => Mathf.CeilToInt(_price * _upgradeCostMultiplier);
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@ public class TurretUpdater : MonoBehaviour
|
||||
[SerializeField] private Button _sellButton;
|
||||
[SerializeField] private Button _upgradeButton;
|
||||
[SerializeField] private UnityEvent<Turret> _onTurretClicked;
|
||||
[SerializeField] private UnityEvent<Turret> _onTurretUpgraded;
|
||||
|
||||
public event UnityAction<Turret> OnTurretClicked
|
||||
{
|
||||
@@ -17,6 +18,12 @@ public class TurretUpdater : MonoBehaviour
|
||||
remove => _onTurretClicked.RemoveListener(value);
|
||||
}
|
||||
|
||||
public event UnityAction<Turret> OnTurretUpgraded
|
||||
{
|
||||
add => _onTurretUpgraded.AddListener(value);
|
||||
remove => _onTurretUpgraded.RemoveListener(value);
|
||||
}
|
||||
|
||||
private Turret _clickedTurret;
|
||||
private bool _isDestroyingTurret;
|
||||
|
||||
@@ -81,6 +88,7 @@ public class TurretUpdater : MonoBehaviour
|
||||
|
||||
_wallet.TakeMoney(ClickedTurret.UpgradeCost);
|
||||
ClickedTurret.Upgrade();
|
||||
_onTurretUpgraded?.Invoke(ClickedTurret);
|
||||
}
|
||||
|
||||
private void SellTurret()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using static UnityEngine.GraphicsBuffer;
|
||||
|
||||
public class TurretUpgradeViewer : MonoBehaviour
|
||||
{
|
||||
@@ -15,12 +16,14 @@ public class TurretUpgradeViewer : MonoBehaviour
|
||||
{
|
||||
_wallet.OnMoneyChanged += OnMoneyChanged;
|
||||
_turretUpdater.OnTurretClicked += OnTurretClicked;
|
||||
_turretUpdater.OnTurretUpgraded += UpdateBtn;
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
_wallet.OnMoneyChanged -= OnMoneyChanged;
|
||||
_turretUpdater.OnTurretClicked -= OnTurretClicked;
|
||||
_turretUpdater.OnTurretUpgraded -= UpdateBtn;
|
||||
}
|
||||
|
||||
private void OnMoneyChanged(int newMoney)
|
||||
@@ -37,6 +40,11 @@ public class TurretUpgradeViewer : MonoBehaviour
|
||||
}
|
||||
|
||||
_viewerHolder.gameObject.SetActive(true);
|
||||
UpdateBtn(turret);
|
||||
}
|
||||
|
||||
private void UpdateBtn(Turret turret)
|
||||
{
|
||||
_upgradeCost = turret.UpgradeCost;
|
||||
_upgradeCostText.text = _upgradeCost.ToString();
|
||||
_upgradeButton.interactable = _wallet.Money >= _upgradeCost;
|
||||
|
||||
Reference in New Issue
Block a user