< Summary

Class:DCL.Backpack.OutfitComponentView
Assembly:BackpackEditorHUDV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/BackpackEditorHUDV2/Outfits/OutfitComponentView.cs
Covered lines:30
Uncovered lines:3
Coverable lines:33
Total lines:87
Line coverage:90.9% (30 of 33)
Covered branches:0
Total branches:0
Covered methods:6
Total methods:9
Method coverage:66.6% (6 of 9)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
InitializeButtonEvents()0%110100%
RefreshControl()0%2100%
SetOutfit(...)0%2100%
SetOutfitPreviewImage(...)0%2100%
SetIsEmpty(...)0%110100%
SetIsLoading(...)0%220100%
OnFocus()0%330100%
OnLoseFocus()0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/BackpackEditorHUDV2/Outfits/OutfitComponentView.cs

#LineLine coverage
 1using System;
 2using UIComponents.Scripts.Components;
 3using UnityEngine;
 4using UnityEngine.UI;
 5
 6namespace DCL.Backpack
 7{
 8    public class OutfitComponentView : BaseComponentView<OutfitComponentModel>, IOutfitComponentView
 9    {
 10        [SerializeField] internal GameObject emptyState;
 11        [SerializeField] internal GameObject filledState;
 12        [SerializeField] internal GameObject loadingState;
 13        [SerializeField] internal GameObject[] hoverStates;
 14        [SerializeField] internal GameObject[] normalStates;
 15        [SerializeField] internal Button equipButton;
 16        [SerializeField] internal Button saveOutfitButton;
 17        [SerializeField] internal Button discardOutfitButton;
 18        [SerializeField] internal RawImage outfitPreviewImage;
 19        [SerializeField] private int outfitIndex;
 20
 21        public event Action<OutfitItem> OnEquipOutfit;
 22        public event Action<int> OnSaveOutfit;
 23        public event Action<int> OnDiscardOutfit;
 24
 25        public override void Awake()
 26        {
 627            base.Awake();
 628            InitializeButtonEvents();
 629        }
 30
 31        private void InitializeButtonEvents()
 32        {
 633            equipButton.onClick.RemoveAllListeners();
 634            equipButton.onClick.AddListener(() => OnEquipOutfit?.Invoke(model.outfitItem));
 635            saveOutfitButton.onClick.RemoveAllListeners();
 636            saveOutfitButton.onClick.AddListener(() => OnSaveOutfit?.Invoke(outfitIndex));
 637            discardOutfitButton.onClick.RemoveAllListeners();
 638            discardOutfitButton.onClick.AddListener(() => OnDiscardOutfit?.Invoke(outfitIndex));
 639        }
 40
 41        public override void RefreshControl() =>
 042            SetOutfit(model.outfitItem);
 43
 44        public void SetOutfit(OutfitItem outfitItem) =>
 045            model.outfitItem = outfitItem;
 46
 47        public void SetOutfitPreviewImage(Texture bodyTexture) =>
 048            outfitPreviewImage.texture = bodyTexture;
 49
 50        public void SetIsEmpty(bool isEmpty)
 51        {
 252            emptyState.SetActive(isEmpty);
 253            filledState.SetActive(!isEmpty);
 254        }
 55
 56        public void SetIsLoading(bool isLoading)
 57        {
 258            loadingState.SetActive(isLoading);
 59
 360            if (!isLoading) return;
 161            emptyState.SetActive(false);
 162            filledState.SetActive(false);
 163        }
 64
 65        public override void OnFocus()
 66        {
 167            base.OnFocus();
 68
 669            foreach (GameObject hoverState in hoverStates)
 270                hoverState.SetActive(true);
 71
 672            foreach (GameObject normalState in normalStates)
 273                normalState.SetActive(false);
 174        }
 75
 76        public override void OnLoseFocus()
 77        {
 778            base.OnLoseFocus();
 79
 4280            foreach (GameObject normalState in normalStates)
 1481                normalState.SetActive(true);
 82
 4283            foreach (GameObject hoverState in hoverStates)
 1484                hoverState.SetActive(false);
 785        }
 86    }
 87}