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