- Home /
Switch causing a stack overflow
The following script is giving me a stack overflow error every time I run it. Im a total noob so Its probably something obvious but its giving me a hard time. The script is supposed to check what the current settings are and toggle the switch visual accordingly.
First Part:
var switchtype = "sound";
function Awake () {
GetCurrentSettings();
}
Second Part:
function GetCurrentSettings () {
switch (switchtype)
{
case "sound":
if (PlayerPrefs.GetInt("sound", 1)){
GetComponent.<Toggle>().isOn=true; //line with the error
break;
}
else {
GetComponent.<Toggle>().isOn=false;
break;
}
case "3dmeteorson":
if (PlayerPrefs.GetInt("3dmeteorson", 1)){
GetComponent.<Toggle>().isOn=true;
break;
}
else {
GetComponent.<Toggle>().isOn=false;
break;
}
case "details":
if (PlayerPrefs.GetInt("details", 1)){
GetComponent.<Toggle>().isOn=true;
break;
}
else {
GetComponent.<Toggle>().isOn=false;
break;
}
}
}
Answer by Mangas · Jan 13, 2015 at 09:25 PM
I think the problem is this:
GetComponent.<Toggle>().isOn = true;
When you should have this:
gameObject.GetComponent<Toggle>().isOn = true;
Also, put your breaks out of the if and else, it's not neccesary to duplicate them.
Im getting errors when i remove the dot so thats not the problem.
And my breaks used to be after if/else stuff, I've been trying to fix it by adding them everywhere just to see if it helps (it doesnt change anything).
Your answer
Follow this Question
Related Questions
Dont Destroy On Load for child object 1 Answer
Cursor Problem / Toggle Lock and Unlock 0 Answers
Is there a better way to access the single active Toggle in a ToggleGroup? 4 Answers
Toggle Scripts On & Off 1 Answer
Cant access .interactable 1 Answer