Ejemplo n.º 1
0
        public static void UISaveGameWindow_RefreshList_Postfix(ref UISaveGameWindow __instance)
        {
            if (configSortSaveScreen.Value)
            {
                __instance.entries.Sort(new GameSaveEntryReverseSorter());

                for (int i = 0; i < __instance.entries.Count;)
                {
                    UIGameSaveEntry entry = __instance.entries[i++];
                    entry.SetEntry(i, i, entry.fileInfo);
                }

                __instance.OnSelectedChange();
            }
        }
Ejemplo n.º 2
0
        public static void UILoadGameWindow_RefreshList_Postfix(ref UILoadGameWindow __instance)
        {
            if (configSortLoadScreen.Value)
            {
                //List<UIGameSaveEntry> sorted = __instance.entries.OrderByDescending(e => e.fileDate).ToList();

                __instance.entries.Sort(new GameSaveEntryReverseSorter());

                int displayIndex = 1;
                for (int i = 0; i < __instance.entries.Count;)
                {
                    UIGameSaveEntry entry = __instance.entries[i++];
                    if (entry.fileInfo.Name.Equals(GameSave.LastExitFullName))
                    {
                        entry.SetEntry(i, 0, entry.fileInfo);
                    }
                    else if (entry.fileInfo.Name.Equals(GameSave.AutoSave0FullName))
                    {
                        entry.SetEntry(i, -1, entry.fileInfo);
                    }
                    else if (entry.fileInfo.Name.Equals(GameSave.AutoSave1FullName))
                    {
                        entry.SetEntry(i, -2, entry.fileInfo);
                    }
                    else if (entry.fileInfo.Name.Equals(GameSave.AutoSave2FullName))
                    {
                        entry.SetEntry(i, -3, entry.fileInfo);
                    }
                    else if (entry.fileInfo.Name.Equals(GameSave.AutoSave3FullName))
                    {
                        entry.SetEntry(i, -4, entry.fileInfo);
                    }
                    else
                    {
                        entry.SetEntry(i, displayIndex++, entry.fileInfo);
                    }
                }

                __instance.OnSelectedChange();
            }
        }
Ejemplo n.º 3
0
        void OnListRefreshed(List <UIGameSaveEntry> entries)
        {
            long token = 0;

            Logger.DevMeasureStart(ref token);

            // Sort the save list, descending order.
            entries.Sort((x, y) => y.fileDate.CompareTo(x.fileDate));

            for (int i = 0; i < entries.Count; ++i)
            {
                UIGameSaveEntry entry = entries[i];
                int             num   = i + 1;
                if (_getIndex(entry) != num)
                {
                    // Trigger update of UI entities
                    entry.SetEntry(num, _getFileInfo(entry));
                }
            }
            Logger.DevMeasureEnd(token);
        }