using UnityEngine;
/// <summary>Marks an EdgeCollider2D as a ridable rail. Caches world points.</summary>
[RequireComponent(typeof(EdgeCollider2D))]
public class Rail : MonoBehaviour
{
public Vector2[] WorldPoints
{
get
{
var ec = GetComponent<EdgeCollider2D>();
var local = ec.points;
var world = new Vector2[local.Length];
for (int i = 0; i < local.Length; i++)
world[i] = transform.TransformPoint(local[i] + ec.offset);
return world;
}
}
void Reset()
{
var ec = GetComponent<EdgeCollider2D>();
ec.isTrigger = true;
ec.edgeRadius = 0.3f; // makes the wire easier to land on
}
}