< Summary

Class:DCL.Quests.QuestTrackerComponentView
Assembly:Quests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/Quests/QuestTrackerComponentView.cs
Covered lines:21
Uncovered lines:8
Coverable lines:29
Total lines:72
Line coverage:72.4% (21 of 29)
Covered branches:0
Total branches:0
Covered methods:7
Total methods:8
Method coverage:87.5% (7 of 8)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
QuestTrackerComponentView()0%110100%
Awake()0%110100%
RefreshControl()0%6200%
SetQuestTitle(...)0%110100%
SetQuestCoordinates(...)0%110100%
SetQuestSteps(...)0%3.043083.33%
SetSupportsJumpIn(...)0%110100%
SetVisible(...)0%110100%

File(s)

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

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using TMPro;
 4using UIComponents.Scripts.Components;
 5using UnityEngine;
 6using UnityEngine.UI;
 7
 8namespace DCL.Quests
 9{
 10    public class QuestTrackerComponentView : BaseComponentView<QuestTrackerComponentModel>, IQuestTrackerComponentView
 11    {
 12        [SerializeField] internal TMP_Text questTitleText;
 13        [SerializeField] internal Transform stepsContainer;
 14        [SerializeField] internal QuestStepComponentView stepPrefab;
 15        [SerializeField] internal Button jumpInButton;
 16
 17        public event Action<Vector2Int> OnJumpIn;
 618        internal List<GameObject> currentQuestSteps = new();
 19
 20        public override void Awake()
 21        {
 522            jumpInButton.onClick.RemoveAllListeners();
 623            jumpInButton.onClick.AddListener(() => OnJumpIn?.Invoke(model.coordinates));
 524            SetVisible(false);
 525            SetSupportsJumpIn(false);
 526        }
 27
 28        public override void RefreshControl()
 29        {
 030            if (model == null)
 031                return;
 32
 033            SetQuestTitle(model.questTitle);
 034            SetQuestCoordinates(model.coordinates);
 035            SetQuestSteps(model.questSteps);
 036            SetSupportsJumpIn(model.supportsJumpIn);
 037        }
 38
 39        public void SetQuestTitle(string questTitle)
 40        {
 141            model.questTitle = questTitle;
 142            questTitleText.text = questTitle;
 143        }
 44
 45        public void SetQuestCoordinates(Vector2Int coordinates) =>
 146            model.coordinates = coordinates;
 47
 48        public void SetQuestSteps(List<QuestStepComponentModel> questSteps)
 49        {
 250            foreach (var step in currentQuestSteps)
 051                Destroy(step);
 52
 653            foreach (var step in questSteps)
 54            {
 255                QuestStepComponentView questStep = Instantiate(stepPrefab, stepsContainer);
 256                questStep.SetModel(step);
 257                questStep.OnJumpIn += OnJumpIn;
 258                currentQuestSteps.Add(questStep.gameObject);
 59            }
 160        }
 61
 62        public void SetSupportsJumpIn(bool supportsJumpIn)
 63        {
 764            model.supportsJumpIn = supportsJumpIn;
 765            jumpInButton.gameObject.SetActive(supportsJumpIn);
 766        }
 67
 68        public void SetVisible(bool isVisible) =>
 569            gameObject.SetActive(isVisible);
 70    }
 71
 72}