< Summary

Class:CatalogAssetPackAdapter
Assembly:BuilderInWorldCatalog
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Catalog/UI/Adapters/CatalogAssetPackAdapter.cs
Covered lines:17
Uncovered lines:10
Coverable lines:27
Total lines:72
Line coverage:62.9% (17 of 27)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetContent(...)0%2.212062.5%
GetThumbnail()0%6.116085.71%
SetThumbnail(...)0%6200%
SceneAssetPackClick()0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Catalog/UI/Adapters/CatalogAssetPackAdapter.cs

#LineLine coverage
 1using DCL;
 2using DCL.Configuration;
 3using System;
 4using System.Collections;
 5using System.Collections.Generic;
 6using TMPro;
 7using UnityEngine;
 8using UnityEngine.UI;
 9
 10public class CatalogAssetPackAdapter : MonoBehaviour
 11{
 12    public TextMeshProUGUI titleTxt;
 13    public RawImage packImg;
 14    public Texture collectiblesSprite;
 15
 16    public event Action<CatalogItemPack> OnCatalogItemPackClick;
 17    CatalogItemPack catalogItemPack;
 18
 19    string loadedThumbnailURL;
 20    AssetPromise_Texture loadedThumbnailPromise;
 21    public void SetContent(CatalogItemPack catalogItemPack)
 22    {
 123        this.catalogItemPack = catalogItemPack;
 124        titleTxt.text = this.catalogItemPack.title;
 25
 126        if (catalogItemPack.id != BIWSettings.ASSETS_COLLECTIBLES)
 27        {
 128            GetThumbnail();
 129        }
 30        else
 31        {
 032            packImg.enabled = true;
 033            packImg.texture = collectiblesSprite;
 34        }
 035    }
 36
 37    private void GetThumbnail()
 38    {
 139        var url = catalogItemPack?.GetThumbnailUrl();
 40
 141        if (url == loadedThumbnailURL)
 042            return;
 43
 144        if (catalogItemPack == null || string.IsNullOrEmpty(url))
 045            return;
 46
 147        string newLoadedThumbnailURL = url;
 148        var newLoadedThumbnailPromise = new AssetPromise_Texture(url);
 49
 50
 151        newLoadedThumbnailPromise.OnSuccessEvent += SetThumbnail;
 152        newLoadedThumbnailPromise.OnFailEvent += x => { Debug.Log($"Error downloading: {url}"); };
 53
 154        AssetPromiseKeeper_Texture.i.Keep(newLoadedThumbnailPromise);
 55
 56
 157        AssetPromiseKeeper_Texture.i.Forget(loadedThumbnailPromise);
 158        loadedThumbnailPromise = newLoadedThumbnailPromise;
 159        loadedThumbnailURL = newLoadedThumbnailURL;
 160    }
 61
 62    public void SetThumbnail(Asset_Texture texture)
 63    {
 064        if (packImg != null)
 65        {
 066            packImg.enabled = true;
 067            packImg.texture = texture.texture;
 68        }
 069    }
 70
 071    public void SceneAssetPackClick() { OnCatalogItemPackClick?.Invoke(catalogItemPack); }
 72}