Пример #1
0
        protected override List <ImageInfo> OnToImageList(PListDict plistDict)
        {
            List <ImageInfo> imageInfoList = new List <ImageInfo>();

            foreach (KeyValuePair <string, IPListElement> keyValuePair in (Dictionary <string, IPListElement>)(plistDict["frames"] as PListDict))
            {
                string    key        = keyValuePair.Key;
                PListDict plistDict1 = keyValuePair.Value as PListDict;
                Rectangle rect       = PlistFormatHelp.ConvertToRect(((PListElement <string>)plistDict1["frame"]).Value);
                Point     point      = PlistFormatHelp.ConvertToPoint(((PListElement <string>)plistDict1["offset"]).Value);
                Size      size       = PlistFormatHelp.ConvertToSize(((PListElement <string>)plistDict1["sourceSize"]).Value);
                int       x          = (size.Width - rect.Width) / 2 + point.X;
                int       y          = (size.Height - rect.Height) / 2 - point.Y;
                ImageInfo imageInfo  = new ImageInfo(key, rect, size, new Point(x, y));
                imageInfoList.Add(imageInfo);
            }
            return(imageInfoList);
        }
Пример #2
0
        protected override List <ImageInfo> OnToImageList(PListDict plistDict)
        {
            List <ImageInfo> imageInfoList = new List <ImageInfo>();

            foreach (KeyValuePair <string, IPListElement> keyValuePair in (Dictionary <string, IPListElement>)(plistDict["frames"] as PListDict))
            {
                string    key        = keyValuePair.Key;
                PListDict plistDict1 = keyValuePair.Value as PListDict;
                Rectangle rect1      = PlistFormatHelp.ConvertToRect(((PListElement <string>)plistDict1["spriteColorRect"]).Value);
                Rectangle rect2      = PlistFormatHelp.ConvertToRect(((PListElement <string>)plistDict1["textureRect"]).Value);
                Size      size       = PlistFormatHelp.ConvertToSize(((PListElement <string>)plistDict1["spriteSourceSize"]).Value);
                bool      isRotation = ((PListElement <bool>)plistDict1["textureRotated"]).Value;
                if (isRotation)
                {
                    int width = rect2.Width;
                    rect2.Width  = rect2.Height;
                    rect2.Height = width;
                }
                ImageInfo imageInfo = new ImageInfo(key, rect2, size, rect1.Location, isRotation);
                imageInfoList.Add(imageInfo);
            }
            return(imageInfoList);
        }