public SpriteLoadStatus LoadSpriteFromResource(SpriteModel.Path sprite, Action <Sprite> cb) { var status = new SpriteLoadStatus(); StartCoroutine(LoadSpriteFromResourceCoroutine(sprite, status, cb)); return(status); }
IEnumerator LoadSpriteFromResourceCoroutine(SpriteModel.Path sprite, SpriteLoadStatus status, Action <Sprite> cb) { ResourcePath path = sprite.GetAttribute <ResourcePath>(); if (path == null) { yield break; } var req = Resources.LoadAsync <Sprite>(sprite.GetAttribute <ResourcePath>().Path); yield return(req); cb.Invoke(req.asset as Sprite); status.Status = SpriteLoadStatus.State.Finish; }