Creating SelectionGrid with each button tinted a different color

Is it possible to tint individual buttons of a GUI.SeletionGrid?

If not, to manually construct this, would looping through a bunch of buttons ever be interpreted oddly so that only one button is rendered at a time (instead of the entire grid):

Very rough pseudocode of what I mean:

for(var i:int=0;i<maxButtons;i++){
 GUI.color = MyColor(i); // tints gui just for this button
 if(GUI.Button...)
    DoThis(i)
}

I don’t think SeletionGrid can do that.

So, with buttons, you’ll need an int to know wich one is activated (simulate the SeletionGrid actually), and two styles. A classic one with normal-over-down and the one for the activated button with the down texture in the normal background (I’m not sure thats clear …)

do this, faster, makes a large mutlibutton grid and paint the buttons colors in art program:

Problem with that, is it uses 1 draw call per button, very slow, for like 10x10 buttons is 100 draw calls. here is a button using whatever texture you want, it returns number of button clicked on your texture:

  function OnGUI(){
			var gridpixels = 20;//pixels per grid square
			var gidxsquares = 12;//num squares in x direction
			if (GUI.Button(Rect(320,10,240,60),fctbutton,GUIStyle.none))
	{
			var xpos = Input.mousePosition.x - 320 ;
			var ypos = Screen.height - Input.mousePosition.y -10;
			
			var result =  Mathf.Floor(xpos / gridpixels) + Mathf.Floor(ypos / gridpixels)*gidxsquares + 1;//plus 1 at end for not zero first square
			//
			print (result);
	}	

}