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());
        }
    }
Example #4
0
    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);
    }
Example #5
0
    /// <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);
    }
Example #6
0
 protected static string GetMonoFolderName(ScriptingRuntimeVersion scriptingRuntimeVersion)
 {
     return("MonoBleedingEdge");
 }
Example #7
0
    /// <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 ?");
        }
    }