- 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