using Godot; /// /// Базовый класс для всех UI элементов /// public partial class GameUI : Control { protected GameManager GameManager => GameManager.Instance; public override void _Ready() { ConnectSignals(); } protected virtual void ConnectSignals() { if (GameManager != null) { GameManager.MoneyChanged += OnMoneyChanged; GameManager.DateChanged += OnDateChanged; } } protected virtual void OnMoneyChanged(decimal newAmount) { } protected virtual void OnDateChanged(int year, int month, int day) { } public override void _ExitTree() { if (GameManager != null) { GameManager.MoneyChanged -= OnMoneyChanged; GameManager.DateChanged -= OnDateChanged; } } }