Currently working to an extremely basic set up of a puzzle game in unity. I've currently worked the draggable element on the sprites which is fully functional.
However, the puzzle slot function itself is not functioning, even with a debug.log print, the actual position snapping isn't functional.
If anyone has any suggestions that would be great
public class SnapControl : MonoBehaviour
{
public List<Transform> snapPoints;
public List<Draggable> draggableObjects;
public float snapRange = 0.5f;
void Start ()
{
print("StartUp");
foreach(Draggable draggable in draggableObjects)
{
print("draggable");
draggable.dragEndedCallback = OnDragEnded;
}
}
//functional up until here
private void OnDragEnded(Draggable draggable)
{
print("Start");
float closestDistance = -1;
Transform closestSnapPoint = null;
foreach(Transform snapPoint in snapPoints)
{
print("snapPoint");
float currentDistance = Vector2.Distance(draggable.transform.localPosition, snapPoint.localPosition);
if(closestSnapPoint == null || currentDistance < closestDistance)
{
closestSnapPoint = snapPoint;
print( "== Null" + snapPoint);
closestDistance = currentDistance;
print( "== Null" + currentDistance);
}
}
if(closestSnapPoint != null && closestDistance <= snapRange)
{
draggable.transform.localPosition = closestSnapPoint.localPosition;
print( "!= Null");
}
}
}
Code in question