public void SaveGame(string savefile) { SaveGameStructure save = new SaveGameStructure(); initializeGameDataDirectory(); if (!fm.checkFile("GameData/saves", savefile, "sav")) { fm.createFile("GameData/saves", savefile, "sav"); } fm.WriteBinaryFile("GameData/saves", savefile, "sav", save); }
public bool LoadGame(string savefile) { if (fm.checkFile("GameData/saves", savefile, "sav")) { SaveGameStructure save = (SaveGameStructure)fm.ReadBinaryFile("GameData/saves", savefile, "sav"); inventorio = new Inventorio(); gerEstados.reset(); backlog.reset(); //Debug.Log("itempegos: "+save.itempegos.GetLength(0)); for (int i = 0; i < save.itempegos.GetLength(0); i++) { Debug.Log("item: " + save.itempegos[i, 0] + ", sprite: " + save.itempegos[i, 1]); inventorio.addItem(save.itempegos[i, 0], save.itempegos[i, 1]); } item_grid = inventorio.getItemGrid(); for (int i = 0; i < save.events.Length; i++) { if (save.events[i]) { gerEstados.setEventActive(i); } else { gerEstados.setEventDeactive(i); } } string[] nomes = save.nomes; for (int i = 0; i < nomes.Length; i++) { gerEstados.alterarEstado(nomes[i], save.states[i], null); PositionGlobal p = save.getPositionGlobal(i); if (nomes[i] != "Player") { if (p.initialized) { gerEstados.setGlobalPosition(nomes[i], p.position, p.scene_index); } } else { init_spot.transform.position = p.position; init_scene = p.scene_index; } } int n = save.profiles.GetLength(0); perfis = new Profile[n]; for (int i = 0; i < n; i++) { perfis[i] = new Profile(save.profiles[i, 0], save.profiles[i, 1], save.profiles[i, 2], save.profiles[i, 3]); } string[] rotulos = save.getRotulosBacklog(); for (int i = 0; i < rotulos.Length; i++) { backlog.addToBacklog(rotulos[i]); } _GI.PlayerNotes = save.getPlayerNotes(); init_music = save.music; init_anbient = save.anbient; pendingshowmenuGUI = save.show_menu; return(true); } return(false); }