protected static string GetMonoFolderName(ScriptingRuntimeVersion scriptingRuntimeVersion) { switch (scriptingRuntimeVersion) { case ScriptingRuntimeVersion.Legacy: return("Mono"); case ScriptingRuntimeVersion.Latest: return("MonoBleedingEdge"); default: throw new ArgumentOutOfRangeException("scriptingRuntimeVersion", "Unknown scripting runtime version"); } }
private static string GetRuntimeVersionStringPretty(ScriptingRuntimeVersion version) { switch (version) { case ScriptingRuntimeVersion.Latest: return(".NET 4.x"); case ScriptingRuntimeVersion.Legacy: return(".NET 3.x"); default: return(version.ToString()); } }
private static string GetRuntimeVersionString(ScriptingRuntimeVersion version) { switch (version) { case ScriptingRuntimeVersion.Latest: return(NET4PackageRuntimeName); case ScriptingRuntimeVersion.Legacy: return(NET3PackageRuntimeName); default: return(version.ToString()); } }
protected static string GetMonoFolderName(ScriptingRuntimeVersion scriptingRuntimeVersion) { string result; if (scriptingRuntimeVersion != ScriptingRuntimeVersion.Legacy) { if (scriptingRuntimeVersion != ScriptingRuntimeVersion.Latest) { throw new ArgumentOutOfRangeException("scriptingRuntimeVersion", "Unknown scripting runtime version"); } result = "MonoBleedingEdge"; } else { result = "Mono"; } return(result); }
/// <summary> /// 读取相关参数 /// </summary> private static void Load2Android() { companyName = Application.companyName; prodectName = Application.productName; qualityLevel = QualitySettings.GetQualityLevel(); targetPatch = PlayerPrefs.GetString("Editor_targetPatch", "../../" + @"\Android\AESafety\"); packName = PlayerSettings.GetApplicationIdentifier(buildTargetGroup); script = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android); targetSdkVersion = PlayerSettings.Android.targetSdkVersion; minSdkVersion = PlayerSettings.Android.minSdkVersion; scriptingRuntimeVersion = PlayerSettings.scriptingRuntimeVersion; scriptingBackend = PlayerSettings.GetScriptingBackend(buildTargetGroup); il2CppCompilerConfiguration = PlayerSettings.GetIl2CppCompilerConfiguration(buildTargetGroup); }
protected static string GetMonoFolderName(ScriptingRuntimeVersion scriptingRuntimeVersion) { return("MonoBleedingEdge"); }
/// <summary> /// Android部分对应显示 /// </summary> private void ShowAndroid() { EditorGUILayout.BeginVertical(); companyName = EditorGUILayout.TextField("公司名:", companyName); prodectName = EditorGUILayout.TextField("项目名:", prodectName); packName = EditorGUILayout.TextField("包名:", packName); var _s = Directory.Exists(targetPatch).ToString(); if (Directory.Exists(targetPatch)) { EditorGUILayout.LabelField("路径是否正确 : " + _s, greenStyleSmile); } else { EditorGUILayout.LabelField("路径是否正确 : " + _s, redStyleSmile); } targetPatch = EditorGUILayout.TextField("项目路径:", targetPatch); qualityLevel = EditorGUILayout.IntField("图形质量:" + QualitySettings.names[qualityLevel] + "最大:" + (QualitySettings.names.Length - 1), qualityLevel); qualityLevel = qualityLevel <= QualitySettings.names.Length - 1 ? qualityLevel : QualitySettings.names.Length - 1; EditorGUILayout.LabelField("Android设置:"); script = EditorGUILayout.TextField("项目注入:", script); targetSdkVersion = (AndroidSdkVersions)EditorGUILayout.EnumPopup("目标SDK:", targetSdkVersion); minSdkVersion = (AndroidSdkVersions)EditorGUILayout.EnumPopup("最小SDK:", minSdkVersion); scriptingRuntimeVersion = (ScriptingRuntimeVersion)EditorGUILayout.EnumPopup(".Net环境:", scriptingRuntimeVersion); scriptingBackend = (ScriptingImplementation)EditorGUILayout.EnumPopup("压缩方式:", scriptingBackend); if (scriptingBackend == ScriptingImplementation.IL2CPP) { il2CppCompilerConfiguration = (Il2CppCompilerConfiguration)EditorGUILayout.EnumPopup("打包方式:", il2CppCompilerConfiguration); } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("读取")) { Load2Android(); this.Repaint(); } if (GUILayout.Button("写入")) { Write2Android(); } if (GUILayout.Button("打包(如有变更先写入)")) { var file = Build2Android(); if (file.Length > 0) { if (EditorUtility.DisplayDialog("PackManager", "导出成功,是否导入Android工程", "Yep", "Closs")) { var ass = targetPatch + @"app\src\main\assets\bin"; var jl = targetPatch + @"app\src\main\jniLibs"; var assnew = @"ForAndroid\" + prodectName + @"\src\main\assets\bin"; var jlnew = @"ForAndroid\" + prodectName + @"\src\main\jniLibs"; try { if (Directory.Exists(ass) && Directory.Exists(jl)) { Directory.Delete(ass, true); Directory.Delete(jl, true); } Directory.Move(assnew, ass); Directory.Move(jlnew, jl); Directory.Delete("ForAndroid", true); Assembly assembly = Assembly.GetAssembly(typeof(SceneView)); Type logEntries = assembly.GetType("UnityEditor.LogEntries"); MethodInfo clearConsoleMethod = logEntries.GetMethod("Clear"); clearConsoleMethod.Invoke(new object(), null); Debug.Log("打包完成!"); this.Close(); } catch (System.Exception e) { if (EditorUtility.DisplayDialog("PackManager", e.Message, "Closs")) { this.Close(); } } } else { this.Close(); } } } if (GUILayout.Button("关闭")) { this.Close(); } try { EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); } catch (Exception) { Debug.Log("Why is always consle ?"); } }