Files
parasitic-god/Scenes/Main/MiracleButton.cs

42 lines
963 B
C#

using Godot;
using ParasiticGod.Scripts.Core;
using ParasiticGod.Scripts.Singletons;
namespace ParasiticGod.Scenes.Main;
public partial class MiracleButton : Button
{
private MiracleDefinition _miracle;
public override void _Ready()
{
if (_miracle == null)
{
GD.PrintErr($"MiracleButton '{Name}' has no MiracleDefinition assigned.");
SetProcess(false);
return;
}
Text = $"{_miracle.Name}\nCost: {_miracle.FaithCost} Faith";
Pressed += OnPressed;
}
public override void _ExitTree()
{
Pressed -= OnPressed;
}
private void OnPressed()
{
GameBus.Instance.PerformMiracle(_miracle);
}
public void SetMiracle(MiracleDefinition miracle)
{
_miracle = miracle;
Text = $"{_miracle.Name}\nCost: {_miracle.FaithCost} Faith";
}
public MiracleDefinition GetMiracle() { return _miracle; }
}