Есть пины которым игрок может тянуть и есть цели на которые нужно поставить эти пины, как можно сделать данный код лучше что бы если стоит идеально на позиции то будет не 0,0 в растсоянии а 1
for (int i = 0; i < perfectPinPoint.Count; i++)
{
distance[i] = Mathf.Infinity;
Vector3 position = perfectPinPoint[i].position;
foreach (GameObject go in pins)
{
Vector3 diff = (go.transform.position - position);
float currDistance = diff.sqrMagnitude;
if (currDistance < distance[i])
{
if (currDistance > maxPinPointLenght)
{
distance[i] = 100;
}
else
{
distance[i] = currDistance;
}
}
}
}
for (int i = 0; i < distance.Count; i++)
{
avarageDist += distance[i];
}
avarageDist /= distance.Count;
procent = Convert.ToInt32(Math.Clamp(100 / avarageDist, 0, 100));
Debug.Log($"Accuracy Procent {procent}$");