[C#] Buttons through an Array.

Basically I’m trying to get access to a button in this array of strings/integers??

using UnityEngine;

using System.Collections;

public class CameraGUI : MonoBehaviour {

private int menuSelection = 0;

private string[] button=new string[] {
	"Single Player",
	"Multi Player",
	"Leaderboards",
	"Options"};
public GUISkin mainSkin;
static int startB=25;
static int buttonW=425;
static int buttonH=275;
private int windowW=500;
private int windowH=600;
private bool openWindow = false;
private int screenW=Screen.width;

void OnGUI() {
	GUI.skin=mainSkin;
	menuSelection=GUI.SelectionGrid(new Rect(startB,startB,buttonW,buttonH), menuSelection, button, 1);
}
public void SPOptionsWindow() {
	//Displays the Singleplayer Window
	GUI.Box (new Rect (screenW*14, Screen.height*(.25f/10.0f), windowW, windowH), "Single Player Pre-Start Options");
	//Closes the Box
	if(Input.GetKey (KeyCode.Escape))
		openWindow=false;
	if(Input.GetButton("B"))
		openWindow=false;
	//Click Within the Box
}
public void MPOptionsWindow() {
	//Diplays the Multiplayer Window
	GUI.Box (new Rect (screenW*14,Screen.height*(.25f/10.0f), windowW, windowH), "Multi Player Pre-Start Options");
	//Closes the Box
	if(Input.GetKey(KeyCode.Escape))
		openWindow=false;
	if(Input.GetButton("B"))
		openWindow=false;
	}
}

However, I cannot get the right idea of this. I would like to be able to click Single Player Option, and it open up a GUI box with different ways to play the game, changeable features, etc. before hitting the Start Button within the Box itself. Which will then go to the Application Level. I really do not understand arrays, so some help would be appreciated.

You’re almost there… just check the value of menuSelection and call one of your methods based on the value. You can do this in a switch statement pretty easily:

switch(menuSelection)
{
// single player
case 0:
  SPOptionsWindow()
  break;
// multi player
case 1:
  MPOptionsWindow()
  break;
// leaderboards
case 2:
  // code for leader boards here
  break;
//options
case 3:
  // code for options here
  break;
default:
  // error handling here
  break;
}

I would also initialize menuSelection to something like -1, since 0 is a valid option. It is generally a good idea to initialize variables to values that are invalid for your game (but valid for the variable type, of course) This will help with debugging and error handling.