Files
OldThink/Content.Client/_White/Trail/TrailComponent.cs

57 lines
1.6 KiB
C#

using Content.Client._White.Trail.Line;
using Content.Client._White.Trail.Line.Manager;
using Content.Client._White.Trail.SplineRenderer;
using Content.Shared._White.Spline;
using Content.Shared._White.Trail;
namespace Content.Client._White.Trail;
[RegisterComponent]
public sealed partial class TrailComponent : SharedTrailComponent, ITrailLineHolder
{
[ViewVariables]
public ITrailLine? TrailLine { get; set; }
public override Spline2DType SplineIteratorType
{
get => base.SplineIteratorType;
set
{
if (base.SplineIteratorType == value)
return;
base.SplineIteratorType = value;
if (TrailLine is TrailSpline trailSpline)
trailSpline.SplineIterator = Spline.From2DType(value);
}
}
public override Spline4DType GradientIteratorType
{
get => base.GradientIteratorType;
set
{
if (base.GradientIteratorType == value)
return;
base.GradientIteratorType = value;
if (TrailLine is TrailSpline trailSpline)
trailSpline.GradientIterator = Spline.From4DType(value);
}
}
public override TrailSplineRendererType SplineRendererType
{
get => base.SplineRendererType;
set
{
if (base.SplineRendererType == value)
return;
base.SplineRendererType = value;
if (TrailLine is TrailSpline trailSpline)
trailSpline.Renderer = TrailSplineRenderer.FromType(value);
}
}
}