Files
BH3/Assets/Plugins/Assembly-CSharp-firstpass/PigeonCoopToolkit/Effects/Trails/Trail.cs
2025-08-13 09:26:42 +08:00

60 lines
1.1 KiB
C#

using UnityEngine;
namespace PigeonCoopToolkit.Effects.Trails
{
[AddComponentMenu("Pigeon Coop Toolkit/Effects/Trail")]
public class Trail : TrailRenderer_Base
{
public float MinVertexDistance = 0.1f;
public int MaxNumberOfPoints = 50;
private Vector3 _lastPosition;
private float _distanceMoved;
protected override void Start()
{
base.Start();
_lastPosition = _t.position;
}
protected override void Update()
{
if (_emit)
{
_distanceMoved += Vector3.Distance(_t.position, _lastPosition);
if (_distanceMoved != 0f && _distanceMoved >= MinVertexDistance)
{
AddPoint(new PCTrailPoint(), _t.position);
_distanceMoved = 0f;
}
_lastPosition = _t.position;
}
base.Update();
}
protected override void OnStartEmit()
{
_lastPosition = _t.position;
_distanceMoved = 0f;
}
protected override void Reset()
{
base.Reset();
MinVertexDistance = 0.1f;
}
protected override void OnTranslate(Vector3 t)
{
_lastPosition += t;
}
protected override int GetMaxNumberOfPoints()
{
return MaxNumberOfPoints;
}
}
}