FINAL JAM COMMIT
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
using Godot;
|
||||
|
||||
public partial class TurretUpgrader : Node
|
||||
{
|
||||
[Export] private Turret _turret;
|
||||
[Export] private Area2D _clickArea;
|
||||
[Export] private Control _ui;
|
||||
[Export] private Label _costLabel;
|
||||
[Export] private Label _damageLabel;
|
||||
[Export] private Label _fireRateLabel;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_clickArea.InputEvent += OnClickAreaInputEvent;
|
||||
_clickArea.MouseEntered += MouseEntered;
|
||||
_clickArea.MouseExited += MouseExited;
|
||||
}
|
||||
|
||||
private void OnClickAreaInputEvent(Node viewport, InputEvent @event, long shapeIdx)
|
||||
{
|
||||
if (@event is not InputEventMouseButton m)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (m.ButtonIndex != MouseButton.Right) return;
|
||||
|
||||
if (!GameController.Instance.TryRemoveCurrency(_turret.UpgradeCost)) return;
|
||||
_turret.Upgrade();
|
||||
_costLabel.Text = _turret.UpgradeCost.ToString();
|
||||
_damageLabel.Text = _turret.Damage.ToString();
|
||||
_fireRateLabel.Text = _turret.FireRate.ToString();
|
||||
}
|
||||
|
||||
private void MouseEntered()
|
||||
{
|
||||
if (_ui == null) return;
|
||||
_ui.Visible = true;
|
||||
_costLabel.Text = _turret.UpgradeCost.ToString();
|
||||
_damageLabel.Text = _turret.Damage.ToString();
|
||||
_fireRateLabel.Text = _turret.FireRate.ToString();
|
||||
}
|
||||
|
||||
private void MouseExited()
|
||||
{
|
||||
if (_ui == null) return;
|
||||
_ui.Visible = false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user