SpriteStudioForUnity.SpriteStudioBaker.DeserializeAnimePack C# (CSharp) Méthode

DeserializeAnimePack() public méthode

public DeserializeAnimePack ( string path ) : void
path string
Résultat 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);
            }
        }

Usage Example

        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;
        }