using Godot; using Rokojori.Extensions; namespace Rokojori { [GlobalClass, Tool ] public partial class SetNode3D : Action { [Export] public Node source; [Export] public string sourceMember; [Export] public Node target; [Export] public string targetMember; protected override void _OnTrigger() { if ( target == null || source == null ) { return; } var value = sourceMember == null || sourceMember == "" ? (Node3D) source : ReflectionHelper.GetValue( source, sourceMember ); ReflectionHelper.SetValue( target, targetMember, value ); } } }