Example #1
0
        private static List <SpriteFrame> LoadWithFrameDict(PlistDictionary dPlist, string plist, string textureType)
        {
            // parse metadata
            var           meta     = dPlist["metadata"] as PlistDictionary;
            PlistMetaData metaData = ParseMetaData(meta);

            // parse frames
            List <FrameDataDict> frames = ParseFrames(dPlist["frames"] as PlistDictionary, metaData.format);
            string name       = metaData.realTextureFileName.SubString(0, metaData.realTextureFileName.Length - 4);
            string plistPath  = Path.GetDirectoryName(plist);
            string parentPath = plistPath.Substring(0, plistPath.LastIndexOf('/'));

            //load png
            Texture2D bigTexture = (Texture2D)Resources.Load(parentPath + "/png/" + name);

            if (bigTexture == null)
            {
                return(null);
            }
            List <SpriteFrame> lstSpriteFrame = new List <SpriteFrame>();

            foreach (FrameDataDict frameDataDict in frames)
            {
                SpriteFrame spriteFrame = SpriteFrame.CreateWithFrameDict(frameDataDict, bigTexture, textureType);
                lstSpriteFrame.Add(spriteFrame);
            }
            return(lstSpriteFrame);
        }
Example #2
0
        private static PlistMetaData ParseMetaData(PlistDictionary dMetaData)
        {
            PlistMetaData metaData = new PlistMetaData();

            metaData.format = (int)dMetaData["format"];
            metaData.realTextureFileName = dMetaData["realTextureFileName"] as string;
            metaData.size            = PlistDictionary.ParseVector2(dMetaData["size"] as string);
            metaData.smartupdate     = dMetaData["smartupdate"] as string;
            metaData.textureFileName = dMetaData["textureFileName"] as string;
            return(metaData);
        }