gui elements to clo

hello there,

i have a scene which contains 6 different game objects. to these game objects i attached a popup js. so when i click on each object which has its own js file, it shows a popup. what i need is to cancel or close popups when i click on one of the other 5 game objects. here is the code i use for each game objects:

var newSkin : GUISkin;
var wasClicked: boolean = false;
var someText = "Close";



function OnMouseUp() {
    wasClicked = true; // turns on button.

}
function OnGUI() {
GUI.skin = newSkin;
    if (wasClicked) {
    	GUI.BeginGroup (Rect (Screen.width / 2 - -192, 140, 280, 150));
    	GUI.Box(Rect(0,0,128,115),"GameObject:");
    	GUI.Box(Rect(0,20,128,60), "Explanation about game object");
    	
        if (GUI.Button(new Rect(24,85,80,22), someText)) {
            // do other stuff when button clicked.
            wasClicked = false; // turns off button.
            
            
            
        }
        GUI.EndGroup ();
    }
}

i hope there is solution for this.
Thank you guys in advance…

Here is one solution. You need to replace ‘ThisScriptName’ by whatever you are naming the script above. ‘static’ variables are shared by all instances of the class. So this code sets the ‘clicked’ variable to the last instance that was clicked on. The GUI code compares ‘clicked’ against the instance to see if it should display anything. I don’t know where you are going with this code, but setting ‘clicked’ back to null will bring down all the GUI displays.

#pragma strict

var newSkin : GUISkin;
var someText = "Close";

static var clicked : ThisScriptName = null;
 
function OnMouseUp() {
    clicked = this;
}

function OnGUI() {
    GUI.skin = newSkin;
    if (clicked == this) {
        GUI.BeginGroup (Rect (Screen.width / 2 - -192, 140, 280, 150));
        GUI.Box(Rect(0,0,128,115),"GameObject:");
        GUI.Box(Rect(0,20,128,60), "Explanation about game object");
 
        if (GUI.Button(new Rect(24,85,80,22), someText)) {
            // do other stuff when button clicked.
            clicked = null; // turns off button.
        }
        GUI.EndGroup ();
    }
}