2021-09-27 12:42:46 +00:00
|
|
|
using System;
|
2022-05-23 19:54:46 +00:00
|
|
|
using System.Diagnostics;
|
2021-10-08 13:16:51 +00:00
|
|
|
using System.IO;
|
2021-09-27 12:42:46 +00:00
|
|
|
using System.Reflection;
|
|
|
|
|
2021-10-23 16:51:17 +00:00
|
|
|
namespace Wabbajack.Paths.IO;
|
|
|
|
|
|
|
|
public static class KnownFolders
|
2021-09-27 12:42:46 +00:00
|
|
|
{
|
2022-05-23 19:54:46 +00:00
|
|
|
public static AbsolutePath EntryPoint
|
|
|
|
{
|
|
|
|
get
|
|
|
|
{
|
2022-06-10 11:36:45 +00:00
|
|
|
var result = Process.GetCurrentProcess().MainModule!.FileName!.ToAbsolutePath().Parent;
|
|
|
|
if (result.FileName == "dotnet".ToRelativePath())
|
|
|
|
{
|
|
|
|
return Assembly.GetExecutingAssembly().Location.ToAbsolutePath().Parent;
|
|
|
|
}
|
|
|
|
|
|
|
|
return result;
|
2022-05-23 19:54:46 +00:00
|
|
|
}
|
|
|
|
}
|
2021-09-27 12:42:46 +00:00
|
|
|
|
2021-10-23 16:51:17 +00:00
|
|
|
public static AbsolutePath AppDataLocal =>
|
|
|
|
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData).ToAbsolutePath();
|
2021-09-27 12:42:46 +00:00
|
|
|
|
2021-11-10 23:13:02 +00:00
|
|
|
public static AbsolutePath WindowsSystem32 => Environment.GetFolderPath(Environment.SpecialFolder.System).ToAbsolutePath();
|
|
|
|
|
2021-10-23 16:51:17 +00:00
|
|
|
public static AbsolutePath WabbajackAppLocal => AppDataLocal.Combine("Wabbajack");
|
|
|
|
public static AbsolutePath CurrentDirectory => Directory.GetCurrentDirectory().ToAbsolutePath();
|
2021-11-10 23:13:02 +00:00
|
|
|
public static AbsolutePath Windows => Environment.GetFolderPath(Environment.SpecialFolder.Windows).ToAbsolutePath();
|
2021-09-27 12:42:46 +00:00
|
|
|
}
|