32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace SingularityGroup.HotReload {
|
|
// Largely copied from CommandLineParameters.ReadIsClone of UnityEditor.MultiplayerModule.dll
|
|
internal static class MultiplayerPlaymodeHelper {
|
|
#if UNITY_EDITOR && UNITY_2023_1_OR_NEWER
|
|
public static bool? isClone;
|
|
public static bool IsClone => isClone == null ? (isClone = HasCommandLineArgument(Environment.GetCommandLineArgs(), "--virtual-project-clone")).Value : isClone.Value;
|
|
#else
|
|
public static bool IsClone => false;
|
|
#endif
|
|
|
|
public static bool HasCommandLineArgument(string[] commandLineArgs, string argumentName) {
|
|
foreach (string commandLineArg in commandLineArgs) {
|
|
if (commandLineArg == argumentName) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static string PathToMainProject(string path) {
|
|
if (IsClone) {
|
|
// Library/VP/<clone-id> is the base path
|
|
return Path.Combine("..", "..", "..", path);
|
|
}
|
|
return path;
|
|
}
|
|
}
|
|
}
|