Esempio n. 1
0
        public SpriteRequest LoadSprite(string rSpriteName)
        {
            UIAtlas rSearchAtlas = this.SearchAtlas(rSpriteName);

            if (rSearchAtlas == null)
            {
                return(null);
            }

            SpriteRequest rRequest = new SpriteRequest(rSearchAtlas.ABName, rSpriteName);

            if (rSearchAtlas.Mode == UIAtlasMode.Atlas)
            {
                return(LoadSprite_AtlasMode_Sync(rRequest));
            }
            else if (rSearchAtlas.Mode == UIAtlasMode.FullBG)
            {
                return(LoadSprite_FullBGMode_Sync(rRequest));
            }
            else if (rSearchAtlas.Mode == UIAtlasMode.Icons)
            {
                return(LoadSprite_IconsMode_Sync(rRequest));
            }
            return(null);
        }
Esempio n. 2
0
        private void TryResolveRequests(Skin skin)
        {
            Dictionary <SpriteRequest, Sprite> dictionary = new Dictionary <SpriteRequest, Sprite>();

            foreach (SpriteRequest request in this.requests)
            {
                if (request == null)
                {
                    this.resolvedRequests.Add(request);
                    continue;
                }
                Sprite sprite = skin.GetSprite(request.Uid);
                if (sprite != null)
                {
                    if (!this.resolvedSprites.ContainsKey(request.Uid))
                    {
                        this.resolvedSprites.Add(request.Uid, sprite);
                    }
                    dictionary.Add(request, sprite);
                }
            }
            foreach (KeyValuePair <SpriteRequest, Sprite> pair in dictionary)
            {
                SpriteRequest key    = pair.Key;
                Sprite        sprite = pair.Value;
                key.Resolve(sprite);
                this.resolvedRequests.Add(key);
            }
            this.ClearResolvedRequests();
        }
Esempio n. 3
0
 public void UnregisterSpriteRequest(SpriteRequest request)
 {
     this.requests.Remove(request);
     if (this.resolutionIndex >= 0)
     {
         this.elements[this.resolutionIndex].CancelRequest(request);
     }
 }
Esempio n. 4
0
        private SpriteRequest LoadSprite_IconsMode_Sync(SpriteRequest rSpriteRequest)
        {
            var rLoadRequest = AssetLoader.Instance.LoadAsset(rSpriteRequest.Path, rSpriteRequest.AssetName, AssetLoader.Instance.IsSumilateMode_GUI());

            if (rLoadRequest == null || rLoadRequest.Asset == null)
            {
                return(null);
            }
            rSpriteRequest.Sprite = rLoadRequest.Asset as Sprite;
            return(rSpriteRequest);
        }
Esempio n. 5
0
        private async Task LoadSprite_IconsMode_Async(SpriteRequest rSpriteRequest)
        {
            var rLoadRequest = await ABLoader.Instance.LoadAsset(rSpriteRequest.Path, rSpriteRequest.AssetName, ABPlatform.Instance.IsSumilateMode_GUI());

            if (rLoadRequest.Asset == null)
            {
                return;
            }
            rSpriteRequest.Sprite = rLoadRequest.Asset as Sprite;
            ABLoader.Instance.UnloadAsset(rSpriteRequest.Path);
        }
Esempio n. 6
0
        private async Task LoadSprite_FullBGMode_Async(SpriteRequest rSpriteRequest)
        {
            string rABPath      = rSpriteRequest.Path + "/" + rSpriteRequest.AssetName.ToLower() + ".ab";
            var    rLoadRequest = await ABLoader.Instance.LoadAsset(rABPath, rSpriteRequest.AssetName, ABPlatform.Instance.IsSumilateMode_GUI());

            if (rLoadRequest.Asset == null)
            {
                return;
            }
            rSpriteRequest.Texture = rLoadRequest.Asset as Texture2D;
        }
Esempio n. 7
0
 public void RegisterSpriteRequest(SpriteRequest request)
 {
     if (!this.requests.Contains(request))
     {
         this.requests.Add(request);
     }
     if ((this.resolutionIndex < 0) && (this.elements.Count > 0))
     {
         this.resolutionIndex = 0;
     }
     this.elements[this.resolutionIndex].RequestSprite(request);
 }
Esempio n. 8
0
        private SpriteRequest LoadSprite_FullBGMode_Sync(SpriteRequest rSpriteRequest)
        {
            string rABPath = rSpriteRequest.Path + "/" + rSpriteRequest.AssetName.ToLower() + ".ab";

            var rLoadRequest = AssetLoader.Instance.LoadAsset(rABPath, rSpriteRequest.AssetName, AssetLoader.Instance.IsSumilateMode_GUI());

            if (rLoadRequest == null || rLoadRequest.Asset == null)
            {
                return(null);
            }
            rSpriteRequest.Texture = rLoadRequest.Asset as Texture2D;
            return(rSpriteRequest);
        }
Esempio n. 9
0
        private IEnumerator LoadSprite_IconsMode_Async(SpriteRequest rSpriteRequest)
        {
            var rLoadRequest = AssetLoader.Instance.LoadAssetAsync(rSpriteRequest.Path, rSpriteRequest.AssetName, AssetLoader.Instance.IsSumilateMode_GUI());

            yield return(rLoadRequest);

            if (rLoadRequest.Result == null || rLoadRequest.Result.Asset == null)
            {
                rSpriteRequest.SetResult(rSpriteRequest);
                yield break;
            }

            rSpriteRequest.Sprite = rLoadRequest.Result.Asset as Sprite;
            AssetLoader.Instance.UnloadAsset(rSpriteRequest.Path);
            rSpriteRequest.SetResult(rSpriteRequest);
        }
Esempio n. 10
0
        private IEnumerator LoadSprite_FullBGMode_Async(SpriteRequest rSpriteRequest)
        {
            string rABPath = rSpriteRequest.Path + "/" + rSpriteRequest.AssetName.ToLower() + ".ab";

            var rLoadRequest = AssetLoader.Instance.LoadAssetAsync(rABPath, rSpriteRequest.AssetName, AssetLoader.Instance.IsSumilateMode_GUI());

            yield return(rLoadRequest);

            if (rLoadRequest.Result == null || rLoadRequest.Result.Asset == null)
            {
                rSpriteRequest.SetResult(rSpriteRequest);
                yield break;
            }
            rSpriteRequest.Texture = rLoadRequest.Result.Asset as Texture2D;
            rSpriteRequest.SetResult(rSpriteRequest);
        }
Esempio n. 11
0
        private IEnumerator LoadSprite_IconsMode_Async(SpriteRequest rSpriteRequest)
        {
            //var rLoadRequest = ABLoader.Instance.LoadAsset(rSpriteRequest.Path, rSpriteRequest.AssetName, ABPlatform.Instance.IsSumilateMode_GUI());
            //yield return rLoadRequest;

            //if (rLoadRequest.Result == null || rLoadRequest.Result.Asset == null)
            //{
            //    rSpriteRequest.SetResult(rSpriteRequest);
            //    yield break;
            //}

            //rSpriteRequest.Sprite = rLoadRequest.Result.Asset as Sprite;
            //ABLoader.Instance.UnloadAsset(rSpriteRequest.Path);

            //rSpriteRequest.SetResult(rSpriteRequest);
            yield break;
        }
Esempio n. 12
0
        private SpriteRequest LoadSprite_IconsMode_Sync(SpriteRequest rSpriteRequest)
        {
            bool bIsSumilate  = AssetLoader.Instance.IsSumilateMode_GUI();
            var  rLoadRequest = AssetLoader.Instance.LoadAsset(rSpriteRequest.Path.ToLower(), rSpriteRequest.AssetName, bIsSumilate);

            if (rLoadRequest == null || rLoadRequest.Asset == null)
            {
                return(null);
            }

            Texture2D rTex2D = rLoadRequest.Asset as Texture2D;

            rSpriteRequest.Sprite      = Sprite.Create(rTex2D, new Rect(0, 0, rTex2D.width, rTex2D.height), new Vector2(0.5f, 0.5f), 100, 1, SpriteMeshType.Tight, mTempBorder);
            rSpriteRequest.Sprite.name = rSpriteRequest.AssetName;

            return(rSpriteRequest);
        }
Esempio n. 13
0
        private IEnumerator LoadSprite_FullBGMode_Async(SpriteRequest rSpriteRequest)
        {
            //string rABPath = rSpriteRequest.Path + "/" + rSpriteRequest.AssetName.ToLower() + ".ab";

            //var rLoadRequest = ABLoader.Instance.LoadAsset(rABPath, rSpriteRequest.AssetName, ABPlatform.Instance.IsSumilateMode_GUI());
            //yield return rLoadRequest;

            //if (rLoadRequest.Result == null || rLoadRequest.Result.Asset == null)
            //{
            //    rSpriteRequest.SetResult(rSpriteRequest);
            //    yield break;
            //}

            //rSpriteRequest.Texture = rLoadRequest.Result.Asset as Texture2D;

            //rSpriteRequest.SetResult(rSpriteRequest);
            yield break;
        }
Esempio n. 14
0
        private SpriteRequest LoadSprite_AtlasMode_Sync(SpriteRequest rSpriteRequest)
        {
            bool bIsSumilate  = AssetLoader.Instance.IsSumilateMode_GUI();
            var  rLoadRequest = AssetLoader.Instance.LoadAsset(rSpriteRequest.Path, rSpriteRequest.AssetName, bIsSumilate);

            if (rLoadRequest.Asset == null)
            {
                return(null);
            }
            if (!bIsSumilate)
            {
                rSpriteRequest.Sprite = rLoadRequest.Asset as Sprite;
            }
            else
            {
                Texture2D rTex2D = rLoadRequest.Asset as Texture2D;
                rSpriteRequest.Sprite = Sprite.Create(rTex2D, new Rect(0, 0, rTex2D.width, rTex2D.height), new Vector2(0.5f, 0.5f));
            }
            return(rSpriteRequest);
        }
Esempio n. 15
0
        public void RequestSprite(SpriteRequest request)
        {
            Sprite sprite;

            this.resolvedSprites.TryGetValue(request.Uid, out sprite);
            if (sprite != null)
            {
                request.Resolve(sprite);
            }
            else
            {
                using (List <AssetReference> .Enumerator enumerator = this.skins.GetEnumerator())
                {
                    while (true)
                    {
                        if (!enumerator.MoveNext())
                        {
                            break;
                        }
                        AssetReference current = enumerator.Current;
                        if (current.Reference != null)
                        {
                            sprite = ((Skin)current.Reference).GetSprite(request.Uid);
                            if (sprite != null)
                            {
                                this.resolvedSprites.Add(request.Uid, sprite);
                                request.Resolve(sprite);
                                return;
                            }
                        }
                    }
                }
                if (!this.requests.Contains(request))
                {
                    this.requests.Add(request);
                }
                this.LoadNextSkin();
            }
        }
Esempio n. 16
0
        private async Task LoadSprite_AtlasMode_Async(SpriteRequest rSpriteRequest)
        {
            bool bIsSumilate  = ABPlatform.Instance.IsSumilateMode_GUI();
            var  rLoadRequest = await ABLoader.Instance.LoadAsset(rSpriteRequest.Path, rSpriteRequest.AssetName, bIsSumilate);

            if (rLoadRequest.Asset == null)
            {
                return;
            }

            if (!bIsSumilate)
            {
                rSpriteRequest.Sprite = rLoadRequest.Asset as Sprite;
            }
            else
            {
                Texture2D rTex2D = rLoadRequest.Asset as Texture2D;
                rSpriteRequest.Sprite = Sprite.Create(rTex2D, new Rect(0, 0, rTex2D.width, rTex2D.height), new Vector2(0.5f, 0.5f));
            }

            ABLoader.Instance.UnloadAsset(rSpriteRequest.Path);
        }
Esempio n. 17
0
        private IEnumerator LoadSprite_AtlasMode_Async(SpriteRequest rSpriteRequest)
        {
            bool bIsSumilate  = ABPlatform.Instance.IsSumilateMode_GUI();
            var  rLoadRequest = ABLoader.Instance.LoadAsset(rSpriteRequest.Path, rSpriteRequest.AssetName, bIsSumilate);

            yield return(rLoadRequest);

            if (rLoadRequest.Result.Asset == null)
            {
                rSpriteRequest.SetResult(rSpriteRequest);
                yield break;
            }
            if (!bIsSumilate)
            {
                rSpriteRequest.Sprite = rLoadRequest.Result.Asset as Sprite;
            }
            else
            {
                Texture2D rTex2D = rLoadRequest.Result.Asset as Texture2D;
                rSpriteRequest.Sprite = Sprite.Create(rTex2D, new Rect(0, 0, rTex2D.width, rTex2D.height), new Vector2(0.5f, 0.5f));
            }
            rSpriteRequest.SetResult(rSpriteRequest);
            ABLoader.Instance.UnloadAsset(rSpriteRequest.Path);
        }
Esempio n. 18
0
 public void CancelRequest(SpriteRequest request)
 {
     this.requests.Remove(request);
 }