Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }