< Summary

Class:CatalogAssetGroupAdapter
Assembly:BuilderInWorldCatalog
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/BuilderMode/Catalog/UI/Adapters/CatalogAssetGroupAdapter.cs
Covered lines:9
Uncovered lines:28
Coverable lines:37
Total lines:84
Line coverage:24.3% (9 of 37)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SetContent(...)0%12300%
SubscribeToEvents(...)0%110100%
UnsubscribeToEvents(...)0%2100%
RemoveAdapters()0%12300%
OnDrag(...)0%6200%
OnEndDrag(...)0%6200%
CatalogItemClicked(...)0%6200%
CatalogItemFavorite(...)0%6200%
AdapterStartDragging(...)0%220100%
OnPointerEnter(...)0%6200%
OnPointerExit(...)0%6200%

File(s)

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

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using TMPro;
 4using UnityEngine;
 5using UnityEngine.EventSystems;
 6
 7public class CatalogAssetGroupAdapter : MonoBehaviour
 8{
 9    public TextMeshProUGUI categoryTxt;
 10    public GameObject categoryContentGO;
 11    public System.Action<CatalogItem> OnCatalogItemClicked;
 12    public System.Action<CatalogItem, CatalogItemAdapter> OnCatalogItemFavorite;
 13    public System.Action<CatalogItem, CatalogItemAdapter, BaseEventData> OnAdapterStartDragging;
 14    public System.Action<PointerEventData> OnAdapterDrag, OnAdapterEndDrag;
 15    public System.Action<PointerEventData, CatalogItemAdapter> OnPointerEnterInAdapter;
 16    public System.Action<PointerEventData, CatalogItemAdapter> OnPointerExitInAdapter;
 17
 18    [Header("Prefab References")]
 19    public GameObject catalogItemAdapterPrefab;
 20
 21    public void SetContent(string category, List<CatalogItem> catalogItemList)
 22    {
 023        categoryTxt.text = category.ToUpper();
 024        RemoveAdapters();
 025        foreach (CatalogItem catalogItem in catalogItemList)
 26        {
 027            if (catalogItem.IsSmartItem())
 28                continue;
 29
 030            CatalogItemAdapter adapter = Instantiate(catalogItemAdapterPrefab, categoryContentGO.transform).GetComponent
 031            adapter.SetContent(catalogItem);
 032            SubscribeToEvents(adapter);
 33        }
 034    }
 35
 36    public void SubscribeToEvents(CatalogItemAdapter adapter)
 37    {
 138        adapter.OnCatalogItemClicked += CatalogItemClicked;
 139        adapter.OnCatalogItemFavorite += CatalogItemFavorite;
 140        adapter.OnAdapterStartDrag += AdapterStartDragging;
 141        adapter.OnAdapterDrag += OnDrag;
 142        adapter.OnAdapterEndDrag += OnEndDrag;
 143        adapter.OnPointerEnterInAdapter += OnPointerEnter;
 144        adapter.OnPointerExitInAdapter += OnPointerExit;
 145    }
 46
 47    public void UnsubscribeToEvents(CatalogItemAdapter adapter)
 48    {
 049        adapter.OnCatalogItemClicked -= CatalogItemClicked;
 050        adapter.OnCatalogItemFavorite -= CatalogItemFavorite;
 051        adapter.OnAdapterStartDrag -= AdapterStartDragging;
 052        adapter.OnAdapterDrag -= OnDrag;
 053        adapter.OnAdapterEndDrag -= OnEndDrag;
 054        adapter.OnPointerEnterInAdapter -= OnPointerEnter;
 055        adapter.OnPointerExitInAdapter -= OnPointerExit;
 056    }
 57
 58    public void RemoveAdapters()
 59    {
 060        for (int i = 0; i < categoryContentGO.transform.childCount; i++)
 61        {
 062            CatalogItemAdapter toRemove = categoryContentGO.transform.GetChild(i).GetComponent<CatalogItemAdapter>();
 063            if (toRemove != null)
 64            {
 065                UnsubscribeToEvents(toRemove);
 066                Destroy(toRemove.gameObject);
 67            }
 68        }
 069    }
 70
 071    private void OnDrag(PointerEventData eventData) { OnAdapterDrag?.Invoke(eventData); }
 72
 073    private void OnEndDrag(PointerEventData eventData) { OnAdapterEndDrag?.Invoke(eventData); }
 74
 075    private void CatalogItemClicked(CatalogItem catalogItemClicked) { OnCatalogItemClicked?.Invoke(catalogItemClicked); 
 76
 077    private void CatalogItemFavorite(CatalogItem catalogItemClicked, CatalogItemAdapter adapter) { OnCatalogItemFavorite
 78
 1879    private void AdapterStartDragging(CatalogItem catalogItemClicked, CatalogItemAdapter adapter, BaseEventData data) { 
 80
 081    private void OnPointerEnter(PointerEventData eventData, CatalogItemAdapter adapter) { OnPointerEnterInAdapter?.Invok
 82
 083    private void OnPointerExit(PointerEventData eventData, CatalogItemAdapter adapter) { OnPointerExitInAdapter?.Invoke(
 84}