Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private int DetermineNearestPanel()
- {
- int panelNumber = nearestPanel;
- float[] distances = new float[NumberOfPanels];
- Vector2 directionMult = Vector2.zero;
- const float directionValMult = 1;
- switch (releaseDirection)
- {
- case Direction.Right:
- directionMult = new Vector2((1 + (1 / NumberOfPanels) * directionValMult), 1);
- break;
- case Direction.Left:
- directionMult = new Vector2((1 - (1 / NumberOfPanels) * directionValMult), 1);
- break;
- case Direction.Up:
- directionMult = new Vector2(1, (1 + (1 / NumberOfPanels) * directionValMult));
- break;
- case Direction.Down:
- directionMult = new Vector2(1, (1 - (1 / NumberOfPanels) * directionValMult));
- break;
- }
- for (int i = 0; i < panels.Length; i++)
- {
- distances[i] = DisplacementFromCenter(panels[i].transform.position + (Vector3)directionMult).magnitude;
- }
- float minDistance = Mathf.Min(distances);
- for (int i = 0; i < panels.Length; i++)
- {
- if (minDistance == distances[i])
- {
- panelNumber = i;
- }
- }
- return panelNumber;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement