Example #1
0
    private bool ApplySerializeObject(AtlasSerializeObject obj)
    {//获取持久化对象
        bool bRet = true;

        if (obj == null)
        {
            return(false);
        }

        //获取Atlas输出路径
        AtlasSavePath = obj.AtlasOutputPath;

        spriteImages.Clear();


        //获取小图信息
        foreach (var ImageInfo in obj.SpriteInfoTable)
        {
            AtlasSpriteImage image = new AtlasSpriteImage();
            image.Name      = ImageInfo.Key;
            image.Path      = UIAtlasEditorConfig.ImageBasePath.Replace(@"/", @"\") + ImageInfo.Value.SpritePath;
            image.ZoomScale = ImageInfo.Value.ZoomScale;

            spriteImages.Add(image);
        }

        return(bRet);
    }
Example #2
0
    private AtlasSerializeObject GetSerializeObject()
    {//制作待持久化的对象
        AtlasSerializeObject obj = new AtlasSerializeObject();

        //设定Atals输出路径(相对Until的路径)
        obj.AtlasOutputPath = AtlasSavePath;

        List <KeyValuePair <string, SpriteImageInfo> > spriteImageInfo = new List <KeyValuePair <string, SpriteImageInfo> >();

        //设定小图路径(相对配置路径)、小图缩放比例
        foreach (var ImageInfo in spriteImages)
        {
            SpriteImageInfo newInfo = new SpriteImageInfo();
            newInfo.SpritePath = ImageInfo.Path.Substring(UIAtlasEditorConfig.ImageBasePath.Replace(@"/", @"\").Length);
            newInfo.ZoomScale  = ImageInfo.ZoomScale;

            KeyValuePair <string, SpriteImageInfo> spriteInfoKeyPair = new KeyValuePair <string, SpriteImageInfo>
                                                                           (ImageInfo.Name, newInfo);
            spriteImageInfo.Add(spriteInfoKeyPair);
        }

        obj.SpriteInfoTable = spriteImageInfo;

        return(obj);
    }
Example #3
0
    public PROJECT_ERROR_TYPE Save(bool test)
    {
        PROJECT_ERROR_TYPE errorType = PROJECT_ERROR_TYPE.PROJECT_ERROR_NONE;

        if (string.IsNullOrEmpty(Path))
        {
            return(PROJECT_ERROR_TYPE.PROJECT_ERROR_PROJECTFILE_PATHERROR);
        }

        do
        {
            //制作持久化对象
            AtlasSerializeObject obj = GetSerializeObject();
            if (null == obj)
            {
                break;
            }

            obj.SaveAtlasSerializeObject(Path, obj);

            IsModify = false;
        } while (false);

        return(errorType);
    }
    static public void LoadAtlasSerializeObject(string filePath, out AtlasSerializeObject obj)
    {
        obj = null;

        if (string.IsNullOrEmpty(filePath))
        {
            return;
        }

        //打开工程文件
        StreamReader yamlReader       = File.OpenText(filePath);
        Deserializer yamlDeserializer = new Deserializer();

        //读取持久化对象
        obj = yamlDeserializer.Deserialize <AtlasSerializeObject>(yamlReader);

        yamlReader.Close();
    }
Example #5
0
    public void Save()
    {//保存工程文件
        if (Path == null)
        {
            return;
        }

        do
        {
            //制作持久化对象
            AtlasSerializeObject obj = GetSerializeObject();
            if (null == obj)
            {
                break;
            }

            obj.SaveAtlasSerializeObject(Path, obj);

            IsModify = false;
        } while (false);
    }
Example #6
0
    //public bool Load(string path)
    //{//读取工程文件

    //    bool bRet = true;

    //    if (string.IsNullOrEmpty(path))
    //    {
    //        errorType = PROJECT_ERROR_TYPE.PROJECT_ERROR_LOAD_ERRORPATH;
    //        return false;
    //    }

    //    do
    //    {
    //        AtlasSerializeObject obj = null;

    //        AtlasSerializeObject.LoadAtlasSerializeObject(path, out obj);
    //        if(null == obj)
    //        {
    //            bRet = false;
    //            errorType = PROJECT_ERROR_TYPE.PROJECT_ERROR_PROJECTFILE_ERROR;

    //            break;
    //        }

    //        //更新小图信息
    //        ApplySerializeObject(obj);

    //        //更新工程名,工程路径
    //        Path = path;
    //        Name = System.IO.Path.GetFileNameWithoutExtension(path);
    //        imagePath = atlasSavePath + name + ".png";
    //        describePath = atlasSavePath + name + ".prefab";

    //        //更新工程类型、是否修改
    //        ProjectType = PROJECT_TYPE.PROJECT_TYPE_EXIST;

    //        IsModify = false;

    //    } while (false);

    //    return bRet;
    //}

    public PROJECT_ERROR_TYPE Load(string path)
    {
        PROJECT_ERROR_TYPE errorType = PROJECT_ERROR_TYPE.PROJECT_ERROR_NONE;

        if (string.IsNullOrEmpty(path))
        {
            return(PROJECT_ERROR_TYPE.PROJECT_ERROR_LOAD_ERRORPATH);
        }

        do
        {
            AtlasSerializeObject obj = null;

            AtlasSerializeObject.LoadAtlasSerializeObject(path, out obj);
            if (null == obj)
            {
                errorType = PROJECT_ERROR_TYPE.PROJECT_ERROR_PROJECTFILE_ERROR;
                break;
            }

            //更新小图信息
            ApplySerializeObject(obj);

            //更新工程名,工程路径
            Path         = path;
            Name         = System.IO.Path.GetFileNameWithoutExtension(path);
            imagePath    = atlasSavePath + name + ".png";
            describePath = atlasSavePath + name + ".prefab";

            //更新工程类型、是否修改
            ProjectType = PROJECT_TYPE.PROJECT_TYPE_EXIST;

            IsModify = false;
        } while (false);

        return(errorType);
    }