< Summary

Class:DCL.Quests.ActiveQuestComponentView
Assembly:Quests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Quests/ActiveQuest/ActiveQuestComponentView.cs
Covered lines:31
Uncovered lines:12
Coverable lines:43
Total lines:107
Line coverage:72% (31 of 43)
Covered branches:0
Total branches:0
Covered methods:8
Total methods:11
Method coverage:72.7% (8 of 11)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
RefreshControl()0%2100%
SetQuestDetailsModel(...)0%110100%
SetQuestName(...)0%110100%
SetQuestCreator(...)0%110100%
SetQuestId(...)0%2100%
SetIsPinned(...)0%110100%
SetQuestImage(...)0%2100%
Deselect()0%110100%
OnFocus()0%2.062075%
OnLoseFocus()0%110100%
OnPointerClick(...)0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Quests/ActiveQuest/ActiveQuestComponentView.cs

#LineLine coverage
 1using System;
 2using TMPro;
 3using UIComponents.Scripts.Components;
 4using UnityEngine;
 5using UnityEngine.EventSystems;
 6using UnityEngine.UI;
 7
 8namespace DCL.Quests
 9{
 10    public class ActiveQuestComponentView : BaseComponentView<ActiveQuestComponentModel>, IActiveQuestComponentView, IPo
 11    {
 12        [SerializeField] internal TMP_Text questName;
 13        [SerializeField] internal TMP_Text questCreator;
 14        [SerializeField] internal GameObject pinnedIcon;
 15        [SerializeField] internal GameObject focusOutline;
 16        [SerializeField] internal GameObject selectedOutline;
 17        [SerializeField] internal Image background;
 18        [SerializeField] internal Image imageBackground;
 19        [SerializeField] internal ImageComponentView backgroundImage;
 20
 21        [SerializeField] internal Color deselectedNameColor;
 22        [SerializeField] internal Color selectedNameColor;
 23        [SerializeField] internal Color deselectedCreatorColor;
 24        [SerializeField] internal Color selectedCreatorColor;
 25        [SerializeField] internal Color selectedBackgroundColor;
 26        [SerializeField] internal Color deselectedBackgroundColor;
 27        [SerializeField] internal Color deselectedBackgroundColorTransparent;
 28
 29        public event Action<QuestDetailsComponentModel> OnActiveQuestSelected;
 30
 31        internal bool isSelected = false;
 32
 33        public override void RefreshControl()
 34        {
 035            Deselect();
 036            SetQuestName(model.questName);
 037            SetQuestCreator(model.questCreator);
 038            SetQuestId(model.questId);
 039            SetIsPinned(model.isPinned);
 040            SetQuestImage(model.questImageUri);
 041            SetQuestDetailsModel(model.questModel);
 042        }
 43
 44        public void SetQuestDetailsModel(QuestDetailsComponentModel questDetailsComponentModel) =>
 145            model.questModel = questDetailsComponentModel;
 46
 47        public void SetQuestName(string title)
 48        {
 149            model.questName = title;
 150            questName.text = title;
 151        }
 52
 53        public void SetQuestCreator(string creator)
 54        {
 155            model.questCreator = creator;
 156            questCreator.text = creator;
 157            model.questModel.questCreator = creator;
 158        }
 59
 60        public void SetQuestId(string questId) =>
 061            model.questId = questId;
 62
 63        public void SetIsPinned(bool isPinned)
 64        {
 265            model.isPinned = isPinned;
 266            pinnedIcon.SetActive(isPinned);
 267        }
 68
 69        public void SetQuestImage(string imageUri)
 70        {
 071            model.questImageUri = imageUri;
 072            backgroundImage.SetImage(imageUri);
 073        }
 74
 75        public void Deselect()
 76        {
 177            isSelected = false;
 178            selectedOutline.SetActive(false);
 179            questName.color = deselectedNameColor;
 180            questCreator.color = deselectedCreatorColor;
 181            background.color = deselectedBackgroundColorTransparent;
 182            imageBackground.color = deselectedBackgroundColor;
 183        }
 84
 85        public override void OnFocus()
 86        {
 187            if (isSelected) return;
 88
 189            focusOutline.SetActive(true);
 190        }
 91
 92        public override void OnLoseFocus() =>
 993            focusOutline.SetActive(false);
 94
 95        public void OnPointerClick(PointerEventData eventData)
 96        {
 197            OnActiveQuestSelected?.Invoke(model.questModel);
 198            isSelected = true;
 199            focusOutline.SetActive(false);
 1100            selectedOutline.SetActive(true);
 1101            questName.color = selectedNameColor;
 1102            questCreator.color = selectedCreatorColor;
 1103            background.color = selectedBackgroundColor;
 1104            imageBackground.color = selectedBackgroundColor;
 1105        }
 106    }
 107}