using Godot; using System; public partial class AdvanceButton : Button { TAS_System TAS; bool isButtonPressed = false; // Called when the node enters the scene tree for the first time. public override void _Ready() { TAS = GetNode("/root/TAS_System"); this.Pressed += () => { TAS.Advance(1); }; this.ButtonDown += () => { this.isButtonPressed = true; }; this.ButtonUp += () => { this.isButtonPressed = false; }; } // Called every frame. 'delta' is the elapsed time since the previous frame. public override void _Process(double delta) { if (TAS.AdvancedFramesRemaining == 0) { this.Disabled = true; this.isButtonPressed = false; } else { this.Disabled = false; if (this.isButtonPressed) { TAS.Advance(1); } } } }