#region Copyright RenGuiYou. All rights reserved. //===================================================== // NeatlyFrameWork // Author: RenGuiyou // Feedback: mailto:750539605@qq.com //===================================================== #endregion using PandoraEditor; using UnityEditor; namespace NeatlyEditor { public class CommandParam { #region Core private const int FALSE = 0; private const int TRUE = 1; private static string GetParam(string key) { var systemParams = System.Environment.GetCommandLineArgs(); foreach (var t in systemParams) { if (t.StartsWith(key + ":")) { return t.Split(':')[1]; } } return null; } private static string Get(string key, string defaultVal = null) { return GetParam(key) ?? (defaultVal); } private static int GetInt(string key, int defaultVal) { string result = Get(key); return result == null ? defaultVal : int.Parse(result); } private static bool GetBool(string key, bool defaultVal) { return GetInt(key, defaultVal ? TRUE : FALSE) == TRUE; } #endregion #region Property private const string company_name = "company"; private const string product_name = "name"; private const string icon = "icon"; private const string bundle_identifier = "id"; private const string version = "version"; private const string script_backend = "il2cpp"; private const string symbols = "symbols"; private const string develop = "develop"; private const string pandora = "pandora"; #endregion public static string CompanyName => Get(company_name, BuildSetting.ProjectBuildSetting.company_name); public static string ProductName => Get(product_name, BuildSetting.ProjectBuildSetting.product_name); public static string AppName => BuildSetting.ProjectBuildSetting.app_name; public static string Icon => Get(icon, "icon"); public static string BundleIdentifier => Get(bundle_identifier, BuildSetting.ProjectBuildSetting.bundle_identifier); public static string Version => Get(version, BuildSetting.ProjectBuildSetting.version); private static bool ScriptingBackend => GetBool(script_backend, BuildSetting.ProjectBuildSetting.is_il2cpp); public static string Symbols { get { string val = Get(symbols, BuildSetting.ProjectBuildSetting.symbols); if (!BuildSetting.ProjectBuildSetting.is_decompress) { val += ";NOT_DECOMPRESS"; } return val; } } public static bool Develop => GetBool(develop, BuildSetting.ProjectBuildSetting.is_develop); public static bool Pandora => GetBool(pandora, BuildSetting.ProjectBuildSetting.is_pandora); public static ScriptingImplementation GetScriptingBackend() { return ScriptingBackend ? ScriptingImplementation.IL2CPP : ScriptingImplementation.Mono2x; } } }