- Home /
Unity Serializer Load Question
I have tried to get help from the site for this product but it seems like no one checks it any more. I am trying to work with the save and load features but what I am trying to do it make the load menu that is provided only show the loads for the scene with a specific name. The load menu shows the name of the scene it was saved from so I know it knows it I just don't want other sceens saves to show up.
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(KeyCode.P))
{
paused = !paused;
if(paused == true){
Time.timeScale = 0.0;
if(pausedGUI) pausedGUI.enabled = true;
} else {
Time.timeScale = 1.0;
if(pausedGUI) pausedGUI.enabled = false;
}
}
}
function OnGUI() {
if(!paused)
{
GUILayout.BeginArea(Rect(200,10,400,20));
GUILayout.BeginVertical();
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
GUILayout.Label("Press P to Pause");
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
GUILayout.EndVertical();
GUILayout.EndArea();
return;
}
var box : GUIStyle = "box";
GUILayout.BeginArea(Rect( Screen.width/2 - 200,Screen.height/2 - 300, 400, 600), 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;
}
}
GUILayout.FlexibleSpace();
GUILayout.EndVertical();
GUILayout.EndArea();
}
Did you read the getting started guide? Theres a scene property for saved games
Answer by InfiniBuzz · Jul 10, 2013 at 07:11 PM
Replace your loop with:
for(var sg in LevelSerializer.SavedGames[LevelSerializer.PlayerName]) {
if(sg.Level == "myScene")
{
if(GUILayout.Button(sg.Caption)) {
LevelSerializer.LoadNow(sg.Data);
Time.timeScale = 1;
}
}
}
Note that you dont have all savegames if you first sort by levelSerializer.PlayerName and actually change the player name. Let me know if this is what you are looking for.
That's exactly what I was trying to do thanks so much.!!!
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
PlayerPrefs for Mute/Unmute button 1 Answer
Lightning Script Js To C# Conversion errors 2 Answers
Convert js to c# 2 Answers
Leave space between GUILayout.Label 1 Answer