mirror of
https://github.com/GTA-ASM/SanAndreasUnity
synced 2024-11-23 12:33:02 +00:00
71 lines
1.9 KiB
C#
71 lines
1.9 KiB
C#
|
|
namespace SanAndreasUnity.Utilities
|
|
{
|
|
|
|
public class CmdLineUtils
|
|
{
|
|
|
|
public static string[] GetCmdLineArgs()
|
|
{
|
|
try
|
|
{
|
|
string[] commandLineArgs = System.Environment.GetCommandLineArgs();
|
|
if (commandLineArgs != null)
|
|
return commandLineArgs;
|
|
}
|
|
catch (System.Exception) {}
|
|
|
|
return new string[0];
|
|
}
|
|
|
|
public static bool GetArgument(string argName, ref string argValue)
|
|
{
|
|
|
|
string[] commandLineArgs = GetCmdLineArgs();
|
|
|
|
if (commandLineArgs.Length < 2) // first argument is program path
|
|
return false;
|
|
|
|
string search = "-" + argName + ":";
|
|
var foundArg = System.Array.Find(commandLineArgs, arg => arg.StartsWith(search));
|
|
if (null == foundArg)
|
|
return false;
|
|
|
|
// found specified argument
|
|
// extract value
|
|
|
|
argValue = foundArg.Substring(search.Length);
|
|
return true;
|
|
}
|
|
|
|
public static bool GetIntArgument(string argName, ref int argValue)
|
|
{
|
|
string str = null;
|
|
if (GetArgument(argName, ref str))
|
|
{
|
|
if (int.TryParse(str, out argValue))
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static bool GetUshortArgument(string argName, ref ushort argValue)
|
|
{
|
|
string str = null;
|
|
if (GetArgument(argName, ref str))
|
|
{
|
|
if (ushort.TryParse(str, out argValue))
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static bool HasArgument(string argName)
|
|
{
|
|
string str = null;
|
|
return GetArgument(argName, ref str);
|
|
}
|
|
|
|
}
|
|
|
|
}
|