- Home /
Pause Menu upon Idle (timer & button issues C#)
I am currently working on an installation which will be running from 9-5, I have created a pause window (see below for screenshot) but the problem I have is that I have only been able to get it to work through a button press, I am looking for a way to implement a timer which will automatically bring up the pause menu if the controller has been idle for 30 seconds.
I have looked at a bunch of topics in the answer section, and tried to hack a bunch of the code I found together, but to no avail...
here's the (clean-ish) code I have for my working pause menu:
 using UnityEngine;
 using System.Collections;
 
 public class pausemenu : MonoBehaviour {
 
     private int gWidth = 600;
     private int gHeight = 500;
     
     //timer
     
     //pause menu gfx
     public Texture pauseGFX;
     bool paused = false;
     
     
     // Use this for initialization
     void Start () {
         GameObject.Find("FP-Logi").GetComponent<MouseLook>().enabled = true;
         Screen.lockCursor = true;
         Screen.showCursor = false;
         Time.timeScale = 1;    
     }
     
     void OnGUI () {        
         if(paused) {
             GUI.BeginGroup(new Rect( ((Screen.width/2) - (gWidth/2)),((Screen.height/2) - (gHeight/2)), gWidth, gHeight));
             if(!pauseGFX) {
                 Debug.LogError ("assign a Texture in the inspector.");
                 return;
             }
             GUI.DrawTexture(new Rect(0, 0, gWidth, gHeight), pauseGFX, ScaleMode.ScaleToFit, true, 0);
             GUI.EndGroup();
         }        
     }    
     // Update is called once per frame    
     void Update () {
         if (Input.GetKeyDown("joystick button 9"))
             paused = togglePause();
     }    
     bool togglePause() {
         if(Time.timeScale == 0) {
             GameObject.Find("FP-Logi").GetComponent<MouseLook>().enabled = true;
             Screen.lockCursor = true;
             Time.timeScale = 1;
             return(false);
         } else {
             GameObject.Find("FP-Logi").GetComponent<MouseLook>().enabled = false;
             Screen.lockCursor = false;
             Time.timeScale = 0;
             return(true);
         }
     }
 }
I put the onGUI in a group in case I want to add more buttons.
and here is a picture of the controller I am using, and the way I want the pause menu screen to look. 
Any help would be appreciated.
Your answer
 
 
             Follow this Question
Related Questions
Problem with Pause Menu because of WaitForSeconds 1 Answer
Distribute terrain in zones 3 Answers
Multiple Cars not working 1 Answer
Can't use wasd control in game! 1 Answer
Problems in c# countdown timer 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                