Goodday dear reader,
I have a question, i am very new to C# and i am learning it at the moment. This question has been asked more often, but most probaly its because of my expierence of coding that i cannot solve it myself.
I have created a ‘pause menu’ for ingame, But the problem is when i pause, everything works correct, everything freezes like it should, but even all the functions froze, when going out of the menu the function is enabled. How do i make the function be enabled in freezing mode.
Beside that i also a second question, i made up a small delay to here a clicking sound when pushing the buttons, it feels for me that i used a pretty ‘dirty’ code for this and is there any option for a smaller and more compact code (i assume there must be) I dont ask to write me a code, but an advice what to use instead.
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
using UnityStandardAssets.Characters.FirstPerson;
public class PauseGame : MonoBehaviour {
public Transform canvas;
public Transform Player;
public void ExitGame()
{
StartCoroutine("Wait");
}
IEnumerator Wait()
{
yield return new WaitForSeconds(0.200F);
Application.Quit();
}
public void Sceneload()
{
StartCoroutine("Wait1");
}
IEnumerator Wait1()
{
yield return new WaitForSeconds(0.200F);
SceneManager.LoadScene(1w);
}
void Update ()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
Pause();
}
}
public void Pause()
{
if (canvas.gameObject.activeInHierarchy == false)
{
canvas.gameObject.SetActive(true);
Time.timeScale = 0;
Player.GetComponent<FirstPersonController>().enabled = false;
}
else
{
canvas.gameObject.SetActive(false);
Time.timeScale = 1;
Player.GetComponent<FirstPersonController>().enabled = true;
}
}
}
Thank you very much in advance for your reply :)!!!
Kind regards,
Alfred