移除ECM2
This commit is contained in:
@@ -1,76 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace ECM2.Examples.Ladders
|
||||
{
|
||||
public sealed class Ladder : MonoBehaviour
|
||||
{
|
||||
#region EDITOR EXPOSED FIELDS
|
||||
|
||||
[Header("Ladder Path")]
|
||||
public float PathLength = 10.0f;
|
||||
public Vector3 PathOffset = new Vector3(0f, 0f, -0.5f);
|
||||
|
||||
[Header("Anchor Points")]
|
||||
public Transform TopPoint;
|
||||
public Transform BottomPoint;
|
||||
|
||||
#endregion
|
||||
|
||||
#region PROPERTIES
|
||||
|
||||
public Vector3 bottomAnchorPoint => transform.position + transform.TransformVector(PathOffset);
|
||||
|
||||
public Vector3 topAnchorPoint => bottomAnchorPoint + transform.up * PathLength;
|
||||
|
||||
#endregion
|
||||
|
||||
#region METHODS
|
||||
|
||||
public Vector3 ClosestPointOnPath(Vector3 position, out float pathPosition)
|
||||
{
|
||||
Vector3 path = topAnchorPoint - bottomAnchorPoint;
|
||||
Vector3 pathToPoint = position - bottomAnchorPoint;
|
||||
|
||||
float height = Vector3.Dot(pathToPoint, path.normalized);
|
||||
|
||||
if (height > 0.0f)
|
||||
{
|
||||
// If we are below top point
|
||||
|
||||
if (height <= path.magnitude)
|
||||
{
|
||||
pathPosition = 0;
|
||||
return bottomAnchorPoint + path.normalized * height;
|
||||
}
|
||||
|
||||
// If we are higher than top point
|
||||
|
||||
pathPosition = height - path.magnitude;
|
||||
return topAnchorPoint;
|
||||
}
|
||||
|
||||
// Below bottom point
|
||||
|
||||
pathPosition = height;
|
||||
return bottomAnchorPoint;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region MONOBEHAVIOUR
|
||||
|
||||
private void OnDrawGizmos()
|
||||
{
|
||||
Gizmos.color = Color.yellow;
|
||||
Gizmos.DrawLine(bottomAnchorPoint, topAnchorPoint);
|
||||
|
||||
if (BottomPoint == null || TopPoint == null)
|
||||
return;
|
||||
|
||||
Gizmos.DrawWireCube(BottomPoint.position, Vector3.one * 0.25f);
|
||||
Gizmos.DrawWireCube(TopPoint.position, Vector3.one * 0.25f);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user