Files
OldThink/Content.Shared/_White/Trail/SharedTrailComponent.cs
Aviu00 9d1c014938 Вернуть трейлы от пуль (#270)
* - add: Bring back bullet trails.

* - add: Cvar, thinner trails.

* - add: Add option.
2024-06-04 14:00:48 +03:00

78 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
}
}