Hi I’m writing a script to delete save game(in game), everything is ok, but when I add this code to my script
/*
for(var sg in LevelSerializer.SavedGames[LevelSerializer.PlayerName])
{
if(GUILayout.Button("Delete: " + sg.Caption))
{
sg.Delete();
}
}
*/
It said:
“InvalidOperationException: Collection was modified; enumeration operation may not execute.
System.Collections.Generic.List1+Enumerator[LevelSerializer+SaveEntry].VerifyState () (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:778) System.Collections.Generic.List
1+Enumerator[LevelSerializer+SaveEntry].MoveNext () (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:784)
PauseMenu.OnGUI () (at Assets/UnitySerializer/Scripts/PauseMenu.js:79)”
***** How can I fix it? Plese help me
**Here is my script
import System.Collections.Generic;
var paused : boolean = false;
var pausedGUI : GUITexture;
var gameName : String = "Your Game";
var myList = new List.<Transform>();
function Start()
{
if(pausedGUI)
pausedGUI.enabled = false;
}
function Update ()
{
if (Input.GetKeyUp("p"))
{
paused = !paused;
if(paused == true)
{
Time.timeScale = 0.0;
AudioListener.pause = true;
firstPersonControllerCamera = gameObject.Find("First Person Controller").GetComponent("MouseLook");
mainCamera = gameObject.Find("Main Camera").GetComponent("MouseLook");
firstPersonControllerCamera.enabled = false;
mainCamera.enabled = false;
if(pausedGUI)
{
pausedGUI.enabled = true;
}
}
else
{
Time.timeScale = 1.0;
AudioListener.pause = false;
firstPersonControllerCamera = gameObject.Find("First Person Controller").GetComponent("MouseLook");
mainCamera = gameObject.Find("Main Camera").GetComponent("MouseLook");
firstPersonControllerCamera.enabled = true;
mainCamera.enabled = true;
if(pausedGUI)
{
pausedGUI.enabled = false;
}
}
}
}
function OnGUI()
{
if(!paused)
{
GUILayout.BeginArea(Rect(200,10,400,20));
GUILayout.BeginVertical();
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
GUILayout.Label("Nhan P de Save/Load game");
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
GUILayout.EndVertical();
GUILayout.EndArea();
return;
}
var box : GUIStyle = "box";
GUILayout.BeginArea(Rect( Screen.width - 1025,Screen.height - 596, 400, 300), box);
GUILayout.BeginVertical();
GUILayout.FlexibleSpace();
if(GUILayout.Button("Save Game"))
{
LevelSerializer.SaveGame(gameName);
}
GUILayout.Space(60);
for(var sg in LevelSerializer.SavedGames[LevelSerializer.PlayerName])
{
if(GUILayout.Button(sg.Caption))
{
LevelSerializer.LoadNow(sg.Data);
Time.timeScale = 1;
}
if(GUILayout.Button("Delete: " + sg.Caption))
{
sg.Delete();
}
}
GUILayout.FlexibleSpace();
GUILayout.EndVertical();
GUILayout.EndArea();
}