Jeremy Pritts 85172b7393
File system improvements (#1936)
* WIP file system improvements

* Switch to a hierarchial virtual file system

* EnumerateFiles and EnumerateDirectories

* Change import code to use FileSystem

* Use FileSystem when loading assemblies

* Use FileSystem in MonoManager initialization

* Remove set method for PlatformGameStructure::RootPath

* Renaming cleanup
2025-09-13 15:17:41 -07:00

34 lines
623 B
C#

namespace AssetRipper.IO.Files.Streams;
internal sealed class SplitNameComparer : IComparer<string>
{
public static SplitNameComparer Instance { get; } = new();
public int Compare(string? x, string? y)
{
int xNumber = GetSplitIndex(x);
int yNumber = GetSplitIndex(y);
return xNumber.CompareTo(yNumber);
}
private static int GetSplitIndex(string? value)
{
if (string.IsNullOrEmpty(value))
{
return -1;
}
int i;
for (i = value.Length - 1; i >= 0; i--)
{
if (!char.IsDigit(value[i]))
{
i++;
break;
}
}
string number = value.Substring(i);
return int.Parse(number);
}
}