using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Text; using Godot; using Rokojori.Extensions; namespace Rokojori; [Tool] [GlobalClass] public partial class MoveOnSpline:Action { [Export] public Node3D target; [Export] public Spline spline; [Export] public float duration; [Export] public Timeline timeline; protected override void _OnTrigger() { var curve = spline.GetCurve(); var position = ( timeline.position % duration ) / duration; // RJLog.Log( timeline.position, position ); target.GlobalPosition = curve.PositionAt( position ); } }