WuhuIslandTesting/Library/PackageCache/com.unity.splines@1.0.1/Runtime/SplineComponent.cs

48 lines
1.7 KiB
C#
Raw Normal View History

2025-01-07 02:06:59 +01:00
using Unity.Mathematics;
namespace UnityEngine.Splines
{
/// <summary>
/// Base class for SplineInstantiate and SplineExtrude, contains common elements to both of these Components
/// </summary>
public abstract class SplineComponent : MonoBehaviour
{
/// <summary>
/// Describes the different types of object alignment axes.
/// </summary>
public enum AlignAxis
{
/// <summary> Object space X axis. </summary>
[InspectorName("Object X+")]
XAxis,
/// <summary> Object space Y axis. </summary>
[InspectorName("Object Y+")]
YAxis,
/// <summary> Object space Z axis. </summary>
[InspectorName("Object Z+")]
ZAxis,
/// <summary> Object space negative X axis. </summary>
[InspectorName("Object X-")]
NegativeXAxis,
/// <summary> Object space negative Y axis. </summary>
[InspectorName("Object Y-")]
NegativeYAxis,
/// <summary> Object space negative Z axis. </summary>
[InspectorName("Object Z-")]
NegativeZAxis
}
readonly float3[] m_AlignAxisToVector = new float3[] {math.right(), math.up(), math.forward(), math.left(), math.down(), math.back()};
/// <summary>
/// Transform a AlignAxis to the associated float3 direction.
/// </summary>
/// <param name="axis">The AlignAxis to transform</param>
/// <returns></returns>
protected float3 GetAxis(AlignAxis axis)
{
return m_AlignAxisToVector[(int) axis];
}
}
}