using Godot; namespace Tutorial1.Scripts; public partial class Abdullah : Sprite2D { private Timer clock; [Signal] public delegate void MovedEventHandler(float x, float y); public override void _Ready() { clock = GetNode("Clock"); clock.WaitTime = 1; clock.Timeout += ClockOnTimeout; clock.Start(); Moved += OnMoved; } private static void OnMoved(float x, float y) => GD.Print($"Moved x={x},y={y}"); private void ClockOnTimeout() { Vector2 newPosition = new(GD.RandRange(0, 500), GD.RandRange(0, 500)); Position = newPosition; EmitSignal("Moved", newPosition.X, newPosition.Y); } }