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); }
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(); }
public void UnregisterSpriteRequest(SpriteRequest request) { this.requests.Remove(request); if (this.resolutionIndex >= 0) { this.elements[this.resolutionIndex].CancelRequest(request); } }
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); }
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); }
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; }
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); }
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); }
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); }
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); }
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; }
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); }
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; }
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); }
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(); } }
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); }
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); }
public void CancelRequest(SpriteRequest request) { this.requests.Remove(request); }