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); }
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); }
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(); }
public void Save() {//保存工程文件 if (Path == null) { return; } do { //制作持久化对象 AtlasSerializeObject obj = GetSerializeObject(); if (null == obj) { break; } obj.SaveAtlasSerializeObject(Path, obj); IsModify = false; } while (false); }
//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); }