Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

Make a GUI Interact ONLY when you enter a collider (Help Please)

Discussion in 'Immediate Mode GUI (IMGUI)' started by gothicplagueltd, Jun 8, 2013.

  1. gothicplagueltd

    gothicplagueltd

    Joined:
    Apr 29, 2013
    Posts:
    7
    I am trying to custom this code so the GUI does not pop up until you hit a collider. Right now it is stuck on the screen and kind of annoying lol.
     
  2. gothicplagueltd

    gothicplagueltd

    Joined:
    Apr 29, 2013
    Posts:
    7
    var pWord : String = "1234";
    var usePassWord : boolean;
    var myGUIText : GUIText;

    private var openDoor : boolean;
    private var enterZone : boolean;
    private var openRot = Vector3(0,120,0);
    private var defaultRot = Vector3(0,0,0);
    private var doorCode : String = "1234";
    private var buttonMessage : String = "Access Denied";
    ///=========================================================================///
    function Start(){
    //------------//
    defaultRot = transform.eulerAngles;
    //------------//
    if(myGUIText) { myGUIText.gameObject.active = false; }
    //------------//
    openRot = new Vector3(defaultRot.x, defaultRot.y + openRot.y, defaultRot.z);
    //------------//
    }
    ///========================================================================================///
    function Update (){
    //------------//
    if(openDoor){
    transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, openRot, Time.deltaTime * 2); // Open door
    }
    else{
    transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, defaultRot, Time.deltaTime * 2); // Close door
    }
    //------------// Not being used on a key code door
    if(!usePassWord) {
    if(Input.GetKeyDown("f") enterZone){
    openDoor = !openDoor;
    }
    }
    //------------//
    }
    ///========================================================================================///
    function OnTriggerEnter (other : Collider){
    //------------//
    if(myGUIText) { myGUIText.text = "Oops! Dead end. Keep trying!"; }
    if(myGUIText) { myGUIText.gameObject.active = true; }
    //------------//
    if (other.gameObject.tag == "Player") {
    enterZone = true;
    }
    //------------//
    }
    ///========================================================================================///
    function OnTriggerExit (other : Collider){
    //------------//
    if(myGUIText) { myGUIText.text = ""; }
    if(myGUIText) { myGUIText.gameObject.active = false; }
    //------------//
    if (other.gameObject.tag == "Player") {
    enterZone = false;
    }
    //------------//
    }
    ///========================================================================================///
    function OnGUI(){
    //------------//
    pWord = GUI.TextField (Rect (20, 100, 70, 25), pWord, 4);
    //------------//
    if(pWord == doorCode){
    buttonMessage = "OpenDoor";
    }
    else{
    buttonMessage = "Access Denied";
    }
    if(GUI.Button(Rect(95, 100, 95, 35), buttonMessage) pWord == doorCode){
    openDoor = true;
    }
    //------------//
    if(usePassWord) {
    if(enterZone){
    GUI.Label(new Rect(Screen.width/2 - 75, Screen.height - 100, 250, 30), "Enter Key Code Then Press 'F' to open");
    }
    }
    else {
    if(enterZone){
    GUI.Label(new Rect(Screen.width/2 - 75, Screen.height - 100, 250, 30), "Press 'F' to open the door");
    }
    }
    //------------//
    }
    ///========================================================================================///