예제 #1
0
    public virtual void SetTarget()
    {
        RailNode nextPosition = AttachedRail.GetTargetRailNode(RailIndex);

        if (nextPosition.Valid)
        {
            target = nextPosition;

            var dist  = Vector2.Distance(transform.position, target.Position);
            var angle = Vector2.SignedAngle(transform.position - target.Position, target.Direction) * Mathf.Deg2Rad;

            distanceToTarget = dist * -Mathf.Cos(angle);
            distanceToCenter = dist * Mathf.Sin(angle);
        }
        else
        {
            OverranRail();
        }
    }