private void CreateSaveAtIndex(SaveType save, int index, StratusLayoutTextElementEntry entry) { this.Log($"Saving current save to index {index}"); save.index = index; saveSystem.Save(currentSave); entry.label = GenerateSaveEntryName(save); entry.onSelect = () => Select(currentSave); entry.onSubmit = () => Submit(currentSave); entry.SetDirty(); }
public void Refresh() { layout.Reset(); saveSystem.LoadAllSaves(); List <StratusLayoutTextElementEntry> entries = new List <StratusLayoutTextElementEntry>(); for (int i = 0; i < saveSystem.saveLimit; ++i) { int saveIndex = i; StratusLayoutTextElementEntry entry = null; // Found save if (saveSystem.HasSaveAtIndex(saveIndex)) { SaveType save = saveSystem.GetSaveAtIndex(saveIndex); entry = new StratusLayoutTextElementEntry(GenerateSaveEntryName(save), () => Submit(save)); entry.onSelect = () => Select(save); } // Empty else { entry = new StratusLayoutTextElementEntry($"{saveIndex}."); Action onSubmit = () => { switch (mode) { case StratusSaveWindowMode.Save: CreateSaveAtIndex(currentSave, saveIndex, entry); break; case StratusSaveWindowMode.Load: break; } }; entry.onSubmit = onSubmit; entry.onSelect = () => Select(null); } entries.Add(entry); } layout.Set(entries); layout.Select(); }