Пример #1
0
        public void DownloadSpriteCustom(string url, Action <CustomSpriteData> callback = null)
        {
            CustomSpriteData customSpriteData = new CustomSpriteData();

            if (string.IsNullOrEmpty(url))
            {
                return;
            }
            if (dicSpriteLoader.ContainsKey(url))
            {
                customSpriteData.sprite = dicSpriteLoader [url];
                customSpriteData.url    = url;
                callback(customSpriteData);
            }
            else
            {
                DownLoadTexture(url, texture => {
                    if (texture != null)
                    {
                        Rect rect;
                        if (texture.width > texture.height)
                        {
                            rect = new Rect(texture.width / 2 - texture.height / 2, 0, texture.height, texture.height);
                        }
                        else
                        {
                            rect = new Rect(0, texture.height / 2 - texture.width / 2, texture.width, texture.width);
                        }

                        Sprite sprite         = Sprite.Create(texture, rect, new Vector2(0.5f, 0.5f));
                        dicSpriteLoader [url] = sprite;
                        if (callback != null)
                        {
                            customSpriteData.sprite = sprite;
                            customSpriteData.url    = url;
                            callback(customSpriteData);
                        }
                    }
                });
            }
        }
        // Token: 0x060007B8 RID: 1976 RVA: 0x00020490 File Offset: 0x0001E890
        public void DownloadSpriteCustom(string url, Action <CustomSpriteData> callback = null)
        {
            CustomSpriteData customSpriteData = new CustomSpriteData();

            if (string.IsNullOrEmpty(url))
            {
                return;
            }
            if (this.dicSpriteLoader.ContainsKey(url))
            {
                customSpriteData.sprite = this.dicSpriteLoader[url];
                customSpriteData.url    = url;
                callback(customSpriteData);
            }
            else
            {
                this.DownLoadTexture(url, delegate(Texture2D texture)
                {
                    if (texture != null)
                    {
                        Rect rect;
                        if (texture.width > texture.height)
                        {
                            rect = new Rect((float)(texture.width / 2 - texture.height / 2), 0f, (float)texture.height, (float)texture.height);
                        }
                        else
                        {
                            rect = new Rect(0f, (float)(texture.height / 2 - texture.width / 2), (float)texture.width, (float)texture.width);
                        }
                        Sprite sprite             = Sprite.Create(texture, rect, new Vector2(0.5f, 0.5f));
                        this.dicSpriteLoader[url] = sprite;
                        if (callback != null)
                        {
                            customSpriteData.sprite = sprite;
                            customSpriteData.url    = url;
                            callback(customSpriteData);
                        }
                    }
                });
            }
        }