78 lines
2.4 KiB
C#
78 lines
2.4 KiB
C#
using System.Numerics;
|
||
using Content.Shared._White.Spline;
|
||
using Robust.Shared.GameStates;
|
||
using Robust.Shared.Serialization;
|
||
using Vector4 = Robust.Shared.Maths.Vector4;
|
||
|
||
namespace Content.Shared._White.Trail;
|
||
|
||
[NetworkedComponent]
|
||
public abstract partial class SharedTrailComponent : Component, ITrailSettings
|
||
{
|
||
[DataField("gravity")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual Vector2 Gravity { get; set; }
|
||
|
||
[DataField("lifetime", required: true)]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual float Lifetime { get; set; }
|
||
|
||
[DataField("lengthStep")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual float LengthStep { get; set; }
|
||
|
||
[DataField("randomWalk")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual Vector2 MaxRandomWalk { get; set; }
|
||
|
||
[DataField("scale", required: true)]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual Vector2 Scale { get; set; }
|
||
|
||
[DataField("texturePath")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual string? TexurePath { get; set; }
|
||
|
||
[DataField("creationOffset")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual Vector2 CreationOffset { get; set; }
|
||
|
||
[DataField("сreationDistanceThresholdSquared")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual float СreationDistanceThresholdSquared { get; set; }
|
||
|
||
[DataField("creationMethod")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual SegmentCreationMethod СreationMethod { get; set; }
|
||
|
||
[DataField("gradient", required: true)]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual Vector4[] Gradient { get; set; } = new[] { Vector4.One, new Vector4(1f, 1f, 1f, 0f) };
|
||
|
||
[DataField("gradientIteratorType")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual Spline4DType GradientIteratorType { get; set; }
|
||
|
||
[DataField("splineIteratorType")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual Spline2DType SplineIteratorType { get; set; }
|
||
|
||
[DataField("splineRendererType")]
|
||
[ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual TrailSplineRendererType SplineRendererType { get; set; }
|
||
|
||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||
public virtual bool OptionsConcealable { get; set; }
|
||
}
|
||
|
||
[Serializable, NetSerializable]
|
||
public sealed class TrailComponentState : ComponentState
|
||
{
|
||
public TrailSettings Settings;
|
||
|
||
public TrailComponentState(TrailSettings settings)
|
||
{
|
||
Settings = settings;
|
||
}
|
||
}
|