Files
OldThink/Content.Shared/_White/Trail/SharedTrailComponent.cs

78 lines
2.4 KiB
C#
Raw Permalink Normal View History

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;
}
}