Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. private int DetermineNearestPanel()
  2. {
  3. int panelNumber = nearestPanel;
  4. float[] distances = new float[NumberOfPanels];
  5.  
  6. Vector2 directionMult = Vector2.zero;
  7. const float directionValMult = 1;
  8.  
  9. switch (releaseDirection)
  10. {
  11. case Direction.Right:
  12. directionMult = new Vector2((1 + (1 / NumberOfPanels) * directionValMult), 1);
  13. break;
  14. case Direction.Left:
  15. directionMult = new Vector2((1 - (1 / NumberOfPanels) * directionValMult), 1);
  16. break;
  17. case Direction.Up:
  18. directionMult = new Vector2(1, (1 + (1 / NumberOfPanels) * directionValMult));
  19. break;
  20. case Direction.Down:
  21. directionMult = new Vector2(1, (1 - (1 / NumberOfPanels) * directionValMult));
  22. break;
  23. }
  24.  
  25. for (int i = 0; i < panels.Length; i++)
  26. {
  27. distances[i] = DisplacementFromCenter(panels[i].transform.position + (Vector3)directionMult).magnitude;
  28. }
  29. float minDistance = Mathf.Min(distances);
  30. for (int i = 0; i < panels.Length; i++)
  31. {
  32. if (minDistance == distances[i])
  33. {
  34. panelNumber = i;
  35. }
  36. }
  37. return panelNumber;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement