public class EscToScaneMultiplayer : NetworkBehaviour {
public Texture2D cursorTexture;
public Texture2D cursorTexture2;
public CursorMode cursorMode = CursorMode.Auto;
public Vector2 hotSpot = Vector2.zero;
public GameObject Menu;
public GameObject SettingsLite;
public bool paused;
void Start () {
paused = false;
}
private void Update ()
{
if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.JoystickButton6))
paused = !paused;
{
Menu.SetActive (true);
}
if (paused)
{
Cursor.SetCursor (cursorTexture, hotSpot, cursorMode);
}
else if (!paused){
Cursor.SetCursor (cursorTexture2, hotSpot, cursorMode);
Menu.SetActive (false);
SettingsLite.SetActive (false);
Debug.Log ("dd");
}
}
public void Pause()
{
paused = !paused;
if (paused)
{
}
else if (!paused)
{
}
}
}
pako
October 13, 2018, 1:12pm
2
The code inside Update()
has wrong syntax. You have an if
statement:
if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.JoystickButton6))
paused = !paused;
… and the outside the above if
statement you have a block of code, which executes every frame unconditionally :
{
Menu.SetActive (true);
}
… and then, another if/else
block:
if (paused)
{
Cursor.SetCursor (cursorTexture, hotSpot, cursorMode);
}
else if (!paused){
Cursor.SetCursor (cursorTexture2, hotSpot, cursorMode);
Menu.SetActive (false);
SettingsLite.SetActive (false);
Debug.Log ("dd");
}
The logic isn’t quite clear, so I gave you a pointer. I suspect that you want the paused = !paused
inside the “free-floating” block, so that Menu.SetActive (true);
becomes part of the if
block i.e.:
if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.JoystickButton6))
{
paused = !paused;
Menu.SetActive (true);
}
this is the good code
public class EscToScane : MonoBehaviour {
public Texture2D cursorTexture;
public Texture2D cursorTexture2;
public CursorMode cursorMode = CursorMode.Auto;
public Vector2 hotSpot = Vector2.zero;
public GameObject Menu;
public GameObject SettingsLite;
public bool paused;
void Start () {
paused = false;
}
void Update ()
{
if (Input.GetKeyDown (KeyCode.Escape) || Input.GetKeyDown (KeyCode.JoystickButton6))
{
if (paused)
{
Ypause ();
} else
{
Resume ();
}
}
}
public void Resume ()
{
Time.timeScale = 0;
Menu.SetActive (true);
Cursor.SetCursor (cursorTexture, hotSpot, cursorMode);
paused = true;
}
public void Ypause ()
{
Time.timeScale = 1;
Cursor.SetCursor (cursorTexture2, hotSpot, cursorMode);
Menu.SetActive (false);
SettingsLite.SetActive (false);
paused = false;
}
}