- Home /
error CS8025: Parsing error in C# code
I'm making a script for my game in C#. Now there is an error. I'll put my code here. I don't know what is wrong with the code.
using UnityEngine;
using System.Collections;
public class pauseMenu : MonoBehaviour
{
public GUISkin myskin;
private Rect windowRect;
private bool paused = false , waited = true;
private void Start()
{
windowRect = new Rect(Screen.width / 2 - 100, Screen.height / 2 - 100, 200, 200);
}
private void waiting()
{
waited = true;
}
private void Update()
{
if (waited)
if (Input.GetKey(KeyCode.Escape) || Input.GetKey(KeyCode.P))
{
if (paused)
paused = false;
else
paused = true;
waited = false;
Invoke("waiting",0.3f);
}
}
private void OnGUI()
{
if (paused)
windowRect = GUI.Window(0, windowRect, windowFunc, "Pause Menu");
}
private void windowFunc(int id)
{
if (GUILayout.Button("Resume"))
{
paused = false;
}
if (GUILayout.Button("Options"))
{
}
if (GUILayout.Button("Quit"))
{
Application.Quit
Well, the script is not complete. Otherwise it would be obvious that the error is at the end.
Anyway, never write nested if
without braces.
I find it best to always always use braces. Trying to add another statement to a braceless "if" has been the source of quite a few hard to spot bugs over the years.
Answer by Johnscomeling · Feb 04, 2014 at 05:14 AM
i have the same error on the last line (59,9) error CS8025 and i cant find out whats wrong and btw this isnt finished but i cant test anything till its fixed. using UnityEngine; using System.Collections;
public class Menu3 : MonoBehaviour { private bool isTrue =false; public string derp = ""; public int herp = 0; Rect WindowRect1 = new Rect((Screen.width / 2) - 1000, 0, 2000, 1000); Rect WindowRect2 = new Rect((Screen.width / 2) - 1000, 0, 2000, 1000); // Use this for initialization void Start () {
}
// Update is called once per frame
void Update () {
}
private void optionsFunc(int id){
}
void OnGUI()
{
GUI.Box(new Rect((Screen.width / 2) - 1000, 0, 2000, 1000), "Menu");
GUI.Button(new Rect((Screen.width / 2)- 1000,20, 667,50),"Play");{
}
GUI.Button(new Rect((Screen.width / 2)- 333,20, 666,50),"Options");{
}
GUI.Button(new Rect((Screen.width / 1)- 630,20, 660,50),"Quit");{
}
if (debug)
{
if (errorWindowValue == false)
{
windowRect1 = GUI.Window (0, windowRect1, doMyWindow, "Sun Positioner Settings");
GUI.FocusWindow (0);
}
else
{
windowRect1 = GUI.Window (0, windowRect1, doMyWindow, "Sun Positioner Settings");
windowRect2 = GUI.Window (1, windowRect2, errorWindow, "Incorrect Format Entered");
}
}
}
@Johnscomeling: No, you don't have the same problem since you don't use the code posted in this question. If you have a similar problem, post a question and not an answer to a 2 years old question.
Answer by Graham-Dunnett · Oct 18, 2012 at 12:36 PM
Hiya. When Unity reports an error, it includes the line number and column number where the error occurred. This information is critical if you ask for help here, since when faced with the line in question it's usually obvious what the problem is. Perhaps edit your post and add a comment that says //<----- this line, or something like that.
Answer by SammieGTA · Oct 18, 2012 at 04:12 PM
I already fixed it! :)
EDIT: I have another problem! Now I modified the script again, and I get two errors! Name of the errors:
Assets/Pause Menu/PauseMenu.js(29,10): BCE0005: Unknown identifier: 'mainCamera'.
Assets/Pause Menu/PauseMenu.js(38,5): BCE0005: Unknown identifier: 'mainCamera'.
The code:
var mainMenuSceneName : String; var pauseMenuFont : Font; private var pauseEnabled = false;
function Start(){ pauseEnabled = false; Time.timeScale = 1; AudioListener.volume = 1; Screen.showCursor = false; }
function Update(){
//check if pause button (escape key) is pressed if(Input.GetKeyDown("escape")){ //check if game is already paused if(pauseEnabled == true){ //unpause the game pauseEnabled = false; Time.timeScale = 1; AudioListener.volume = 1; Screen.showCursor = false; mainCamera.enabled = true; } //else if game isn't paused, then pause it else if(pauseEnabled == false){ pauseEnabled = true; AudioListener.volume = 0; Time.timeScale = 0; Screen.showCursor = true; mainCamera.enabled = false; } } }
private var showGraphicsDropDown = false;
function OnGUI(){
GUI.skin.box.font = pauseMenuFont; GUI.skin.button.font = pauseMenuFont;
if(pauseEnabled == true){ //Make a background box GUI.Box(Rect(Screen.width /2 - 100,Screen.height /2 - 100,250,200), "Pause Menu"); //Make Main Menu button if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 - 50,250,50), "Main Menu")){ Application.LoadLevel(mainMenuSceneName); } //Make Change Graphics Quality button if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 ,250,50), "Change Graphics Quality")){ if(showGraphicsDropDown == false){ showGraphicsDropDown = true; } else{ showGraphicsDropDown = false; } } //Create the Graphics settings buttons, these won't show automatically, they will be called when //the user clicks on the "Change Graphics Quality" Button, and then dissapear when they click //on it again.... if(showGraphicsDropDown == true){ if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 ,250,50), "Fastest")){ QualitySettings.currentLevel = QualityLevel.Fastest; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 50,250,50), "Fast")){ QualitySettings.currentLevel = QualityLevel.Fast; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 100,250,50), "Simple")){ QualitySettings.currentLevel = QualityLevel.Simple; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 150,250,50), "Good")){ QualitySettings.currentLevel = QualityLevel.Good; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 200,250,50), "Beautiful")){ QualitySettings.currentLevel = QualityLevel.Beautiful; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 250,250,50), "Fantastic")){ QualitySettings.currentLevel = QualityLevel.Fantastic; } if(Input.GetKeyDown("escape")){ showGraphicsDropDown = false; } } //Make quit game button if (GUI.Button (Rect (Screen.width /2 - 100,Screen.height /2 + 50,250,50), "Quit Game")){ Application.Quit(); } } }