перенос файлов клиента из папки White в _White

This commit is contained in:
Remuchi
2024-01-28 17:32:55 +07:00
parent c80b10a688
commit 21dbccfec9
139 changed files with 345 additions and 434 deletions

View File

@@ -0,0 +1,64 @@
using Content.Client._White.Trail.SplineRenderer;
using Content.Shared.White.Spline;
using Content.Shared.White.Trail;
using Robust.Shared.Map;
namespace Content.Client._White.Trail.Line.Manager;
public sealed class TrailSplineManager : ITrailLineManager
{
private readonly LinkedList<TrailSpline> _lines = new();
public IEnumerable<ITrailLine> Lines => _lines;
public ITrailLine CreateTrail(ITrailSettings settings, MapId mapId)
{
var tline = new TrailSpline
{
Attached = true,
Settings = settings,
MapId = mapId,
SplineIterator = Spline.From2DType(settings.SplineIteratorType),
GradientIterator = Spline.From4DType(settings.GradientIteratorType),
Renderer = TrailSplineRenderer.FromType(settings.SplineRendererType)
};
_lines.AddLast(tline);
return tline;
}
public void Detach(ITrailLineHolder holder)
{
if (holder.TrailLine is TrailSpline trailSpline)
{
trailSpline.Attached = false;
var detachedSettings = new TrailSettings();
TrailSettings.Inject(detachedSettings, trailSpline.Settings);
trailSpline.Settings = detachedSettings;
}
}
public void Update(float dt)
{
var curNode = _lines.First;
while (curNode != null)
{
var curLine = curNode.Value;
curNode = curNode.Next;
if (!curLine.HasSegments())
{
if (curLine.Attached)
curLine.ResetLifetime();
else
_lines.Remove(curLine);
continue;
}
curLine.AddLifetime(dt);
curLine.RemoveExpiredSegments();
curLine.UpdateSegments(dt);
}
}
}