Camera/CameraDollyNode.cs
namespace Clover.Camera;
[Category( "Clover/Camera" )]
[EditorHandle( "materials/gizmo/tracked_object.png" )]
public class CameraDollyNode : Component
{
[Property] public CameraDollyNode Next { get; set; }
public List<CameraDollyNode> GetPath()
{
var path = new List<CameraDollyNode>();
var current = this;
while ( current.IsValid() )
{
path.Add( current );
if ( !current.Next.IsValid() ) break;
if ( path.Contains( current.Next ) ) break;
current = current.Next;
}
return path;
}
protected override void DrawGizmos()
{
base.DrawGizmos();
if ( Next.IsValid() )
{
Gizmo.Transform = global::Transform.Zero;
Gizmo.Draw.Line( WorldPosition, Next.WorldPosition );
}
}
}