예제 #1
0
    public SpriteLoadStatus LoadSpriteFromResource(SpriteModel.Path sprite, Action <Sprite> cb)
    {
        var status = new SpriteLoadStatus();

        StartCoroutine(LoadSpriteFromResourceCoroutine(sprite, status, cb));
        return(status);
    }
예제 #2
0
    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;
    }