2025-09-24 11:24:38 +05:00

86 lines
1.7 KiB
C#

namespace TPSBR
{
using System;
using System.IO;
using UnityEngine;
public static partial class ApplicationUtility
{
// PUBLIC MEMBERS
public static readonly string DataPath;
// CONSTRUCTORS
static ApplicationUtility()
{
if (GetCommandLineArgument("-dataPath", out string dataPath) == true)
{
DataPath = dataPath;
}
else
{
if (Application.isEditor == true || Application.isMobilePlatform == false)
{
DataPath = Application.dataPath + "/..";
}
else
{
DataPath = Application.persistentDataPath;
}
}
}
// PUBLIC METHODS
public static string GetFilePath(string fileName)
{
return Path.Combine(DataPath, fileName);
}
public static bool HasCommandLineArgument(string name)
{
string[] arguments = Environment.GetCommandLineArgs();
for (int i = 0; i < arguments.Length; ++i)
{
if (arguments[i] == name)
return true;
}
return false;
}
public static bool GetCommandLineArgument(string name, out string argument)
{
string[] arguments = Environment.GetCommandLineArgs();
for (int i = 0; i < arguments.Length; ++i)
{
if (arguments[i] == name && arguments.Length > (i + 1))
{
argument = arguments[i + 1];
return true;
}
}
argument = default;
return false;
}
public static bool GetCommandLineArgument(string name, out int argument)
{
string[] arguments = Environment.GetCommandLineArgs();
for (int i = 0; i < arguments.Length; ++i)
{
if (arguments[i] == name && arguments.Length > (i + 1) && int.TryParse(arguments[i + 1], out int parsedArgument) == true)
{
argument = parsedArgument;
return true;
}
}
argument = default;
return false;
}
}
}