Files
RAGECOOP-V/Client/Scripts/Shared.cs

48 lines
1.8 KiB
C#
Raw Normal View History

global using GTA;
global using GTA.Native;
global using static GTA.Native.Function;
global using static GTA.Native.Hash;
global using static RageCoop.Client.Shared;
2023-02-13 17:51:18 +08:00
global using static RageCoop.Client.Main;
global using Console = GTA.Console;
2023-02-12 22:06:57 +08:00
global using static RageCoop.Core.Shared;
using System.IO;
2023-03-08 11:09:47 +08:00
using System;
using SHVDN;
using System.Diagnostics;
2022-11-16 17:37:31 +08:00
namespace RageCoop.Client
{
2022-11-16 17:40:07 +08:00
internal static class Shared
2022-11-16 17:37:31 +08:00
{
2023-03-08 11:09:47 +08:00
private static string GetBasePath()
{
FileInfo info;
string realScriptDir = Directory.GetParent(Instance.FilePath).FullName;
nextTarget:
info = new(realScriptDir);
if (info.LinkTarget != null)
{
realScriptDir = info.LinkTarget;
goto nextTarget;
}
if (Path.GetFileName(realScriptDir).ToLower() != "scripts")
throw new FileNotFoundException($"Unexpected link target {realScriptDir}");
var baseDir = Directory.GetParent(realScriptDir).FullName;
Logger.Debug($"Base directory is {baseDir}");
return baseDir;
}
public static string BasePath = GetBasePath();
2022-11-16 17:37:31 +08:00
public static string DataPath = Path.Combine(BasePath, "Data");
2022-11-16 17:40:07 +08:00
public static string SettingsPath = Path.Combine(DataPath, "Setting.json");
2022-11-16 17:37:31 +08:00
public static string VehicleWeaponDataPath = Path.Combine(DataPath, "VehicleWeapons.json");
public static string WeaponFixDataPath = Path.Combine(DataPath, "WeaponFixes.json");
public static string WeaponInfoDataPath = Path.Combine(DataPath, "Weapons.json");
public static string AnimationsDataPath = Path.Combine(DataPath, "Animations.json");
public static string CefSubProcessPath = Path.Combine(BasePath, "SubProcess", "RageCoop.Client.CefHost.exe");
}
2022-11-16 17:40:07 +08:00
}