public DeserializeAnimePack ( string path ) : void | ||
path | string | |
return | void |
public void DeserializeAnimePack(string path)
{
XmlSerializer serializer = new XmlSerializer (typeof(SpriteStudioAnimePack));
using (StreamReader sr = new StreamReader(path,new UTF8Encoding(false))) {
SpriteStudioAnimePack animePack = serializer.Deserialize (sr) as SpriteStudioAnimePack;
string name = Path.GetFileNameWithoutExtension (path);
animePack.name = name;
foreach(SpriteStudioAnimePackAnime packAnime in animePack.animeList){
foreach(SpriteStudioAnimePackAnimePartAnime partAnime in packAnime.partAnimes){
SpriteStudioAnimePackAnimePartAnimeAttribute attribute = partAnime.attributes.SingleOrDefault (v => v.tag == "CELL");
if (attribute != null) {
foreach(SpriteStudioAnimePackAnimePartAnimeAttributeKey key in attribute.key){
key.value.name = key.value.name.Replace("\r", "").Replace("\n", "");
}
}
}
}
animePackList.Add (animePack);
}
}
bool DeserializeAnimePacks(SpriteStudioBaker baker) { baker.animePackList = new List<SpriteStudioAnimePack>(); if (baker.projectData.animepackNames == null) return true; string message = null; try { for (int i = 0; i < baker.projectData.animepackNames.Length; i++) { string animepackName = baker.projectData.animepackNames [i]; message = animepackName; EditorUtility.DisplayProgressBar("Sprite Studio For Unity", "Deserialize AnimePack(" + (i + 1) + "/" + baker.projectData.animepackNames.Length + ") : " + animepackName, 0.4f); baker.DeserializeAnimePack(baker.sourceDirectory + "/" + animepackName); } } catch (Exception e) { EditorUtility.DisplayDialog("Error", "Deserialize AnimePack : " + message, "OK"); Debug.Log(e.StackTrace); return false; } return true; }