예제 #1
0
    void ChooseAndroidProject(string jsonpath)
    {
        if (BuildToFolder == null)
        {
            ShowNotification(new GUIContent("请选择打包的路径")); return;
        }
        string           PluginsName     = new DirectoryInfo(jsonpath).Name; //找到plugins文件夹的名字
        SavedPliginsPath CopyPliginsPath = new SavedPliginsPath(PluginsName);

        string  txt            = File.ReadAllText(CopyPliginsPath.JsonPath, Encoding.UTF8);
        Project ChoosedSetting = JsonUtility.FromJson <Project>(txt);

        string TitleTxt         = UtilTHIS.ProjectToString(ChoosedSetting);
        bool   SetPlayerSetting = EditorUtility.DisplayDialog("配置信息", TitleTxt + "\n自动设置AndroidAPI等级为18-22", "打包", "关闭");

        if (SetPlayerSetting)
        {
            SetProjectSetting(ChoosedSetting);
            if (Directory.Exists(SDKPluginsPath.MeAndroidDir))
            {
                Directory.Delete(SDKPluginsPath.MeAndroidDir, true);
            }

            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();
            UtilTHIS.CopyOldLabFilesToNewLab(CopyPliginsPath.PluginsPath, SDKPluginsPath.MeAndroidDir);
            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();
            Build(ChoosedSetting);
            OpenFolder(BuildToFolder);

            AssetDatabase.Refresh();
            AssetDatabase.SaveAssets();
        }
    }
예제 #2
0
    void GUIChangeConfig()
    {
        GUILayout.BeginVertical();
        //绘制标题
        GUILayout.Space(10);
        //是否开启添加配置信息
        ISChangeConfig = EditorGUILayout.Toggle("是否修改配置信息", ISChangeConfig);
        if (ISChangeConfig)
        {
            string SDKPluginspath = SDKPluginsPath.path;
            if (!Directory.Exists(SDKPluginspath))
            {
                this.ShowNotification(new GUIContent("暂无配置信息文件夹,以自动创建")); Directory.CreateDirectory(SDKPluginspath); return;
            }
            if (Directory.GetDirectories(SDKPluginspath).Length == 0)
            {
                this.ShowNotification(new GUIContent("暂无配置信息,请添加配置2")); return;
            }

            string[] SDKNames = Directory.GetDirectories(SDKPluginspath);
            GUILayout.Space(10);
            if (IsCanShowBtn)
            {
                for (int i = 0; i < SDKNames.Length; i++)
                {
                    if (GUILayout.Button(SDKNames[i], GUILayout.Width(20), GUILayout.ExpandWidth(true)))
                    {
                        IsCanShowBtn = false;
                        if (BuildToFolder == null)
                        {
                            ShowNotification(new GUIContent("请选择打包的路径")); return;
                        }
                        string           PluginsName = new DirectoryInfo(SDKNames[i]).Name; //找到plugins文件夹的名字
                        SavedPliginsPath PliginsPath = new SavedPliginsPath(PluginsName);
                        string           txt         = File.ReadAllText(PliginsPath.JsonPath, Encoding.UTF8);
                        ChangeProject = JsonUtility.FromJson <Project>(txt);
                    }
                }
            }
            else
            {
                if (ChangeProject != null)
                {
                    GUILayout.Label(ChangeProject.Name);
                    ChangeProject.ProjectName       = EditorGUILayout.TextField("软件名:", ChangeProject.ProjectName);
                    ChangeProject.IconName          = EditorGUILayout.TextField("Icon路径:", ChangeProject.IconName);
                    ChangeProject.PackageName       = EditorGUILayout.TextField("包名:", ChangeProject.PackageName);
                    ChangeProject.Version           = EditorGUILayout.TextField("版本:", ChangeProject.Version);
                    ChangeProject.BundleVersionCode = EditorGUILayout.TextField("bundleVersionCode:", ChangeProject.BundleVersionCode);

                    if (GUILayout.Button("保存配置信息", GUILayout.Height(20), GUILayout.Width(200)))
                    {
                        SavedPliginsPath path = new SavedPliginsPath(ChangeProject.Name);
                        if (File.Exists(path.JsonPath))
                        {
                            File.Delete(path.JsonPath);
                        }
                        AssetDatabase.Refresh();
                        AssetDatabase.SaveAssets();

                        string       str = ChangeProject.SaveToString();
                        StreamWriter sw  = new StreamWriter(path.JsonPath);
                        sw.WriteLine(str);
                        sw.Close();
                        AssetDatabase.Refresh();
                        AssetDatabase.SaveAssets();

                        string TitleTxt = UtilTHIS.ProjectToString(ChangeProject);
                        EditorUtility.DisplayDialog("配置信息更改完毕", TitleTxt, "确认");
                        ChangeProject  = null;
                        ISChangeConfig = false;
                    }
                }
            }
        }
        else
        {
            IsCanShowBtn = true;
        }
        GUILayout.EndVertical();
    }