Пример #1
0
    static void OnMakeAtlasCommand(bool bRet)
    {//Atlas生成完响应函数
        if (bRet)
        {
            //提示生成成功
            EditorUtility.DisplayDialog("生成成功",
                                        "Atlas生成完毕\n\n" + "相关文件保存至\"" + UIAtlasEditorModel.GetInstance().GetAtlasSavePath() + "\"",
                                        "确认");
            m_bIsOperateSaved = false;
        }
        else
        {
            if (PROJECT_ERROR_TYPE.PROJECT_ERROR_ATLASOUTPU_PATH
                == UIAtlasEditorModel.GetInstance().GetProjectFailedType())
            {//未指定Atlas输出路径
                //显示选择路径对话框
                string savePath = EditorUtility.SaveFolderPanel("请选择Atlas文件的输出路径", "Assets/", "");

                if (savePath.Contains("/Assets"))
                {//路径合法(Unity相对路径)
                    //获取Unity相对路径
                    savePath = savePath.Substring(UnityEngine.Application.dataPath.Length - "Assets".Length);

                    //设定Atlas输出路径
                    UIAtlasEditorModel.GetInstance().SetAtlasSavePath(savePath + "/");

                    //执行“生成Atlas”命令
                    AtlasMakeAtlas cmd = new AtlasMakeAtlas();
                    EditorCommandManager.GetInstance().Add(cmd);

                    m_bIsOperateSaved = false;

                    RegisterUndo("Make Atlas");
                }
                else
                {
                    //提示输出路径错误message
                    EditorUtility.DisplayDialog("生成失败",
                                                "请选择Assets/下的路径",
                                                "确认");
                }
            }
            else if (PROJECT_ERROR_TYPE.PROJECT_ERROR_NONE_IMAGE
                     == UIAtlasEditorModel.GetInstance().GetProjectFailedType())
            {//未添加小图
                //提示添加小图message
                EditorUtility.DisplayDialog("生成失败",
                                            "请添加小图资源",
                                            "确认");
            }
            else
            {
                //do nothing
            }
        }

        RequestRepaint();
    }
Пример #2
0
    static void OnMakeAtlasBtn(EditorControl c)
    {     //[生成Atlas]按钮压下处理函数
        if (!UIAtlasEditorModel.GetInstance().IsProjectExist())
        { //工程未创建
            //提示创建工程message
            EditorUtility.DisplayDialog("生成失败",
                                        "请先创建工程",
                                        "确认");
        }
        else
        {//工程已存在
            AtlasMakeAtlas cmd = new AtlasMakeAtlas();
            EditorCommandManager.GetInstance().Add(cmd);
            m_bIsOperateSaved = false;

            RegisterUndo("Make Atlas");
        }

        RequestRepaint();
    }