< Summary

Class:DCL.Huds.QuestsPanel.QuestsPanelTask_Single
Assembly:QuestsPanelHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/QuestsPanelHUD/QuestsPanelTask_Single.cs
Covered lines:10
Uncovered lines:0
Coverable lines:10
Total lines:44
Line coverage:100% (10 of 10)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
Populate(...)0%440100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/QuestsPanelHUD/QuestsPanelTask_Single.cs

#LineLine coverage
 1using DCL.Interface;
 2using System;
 3using TMPro;
 4using UnityEngine;
 5using UnityEngine.UI;
 6
 7namespace DCL.Huds.QuestsPanel
 8{
 9    public class QuestsPanelTask_Single : MonoBehaviour, IQuestsPanelTask
 10    {
 11        [SerializeField] internal TextMeshProUGUI taskName;
 12        [SerializeField] internal Toggle status;
 13        [SerializeField] internal Button jumpInButton;
 14        [SerializeField] internal TextMeshProUGUI progressText;
 15        [SerializeField] internal Image ongoingProgress;
 16        [SerializeField] internal Color ongoinColor;
 17        [SerializeField] internal Color completedcolor;
 18
 19        internal TaskPayload_Single payload;
 20
 21        private Action jumpInDelegate;
 22
 1023        public void Awake() { jumpInButton.onClick.AddListener(() => { jumpInDelegate?.Invoke(); }); }
 24
 25        public void Populate( QuestModel quest, QuestTask task)
 26        {
 527            payload = JsonUtility.FromJson<TaskPayload_Single>(task.payload);
 28
 529            jumpInButton.gameObject.SetActive(task.progress < 1 && !string.IsNullOrEmpty(task.coordinates));
 530            jumpInDelegate = () => WebInterface.SendChatMessage(new ChatMessage
 31            {
 32                messageType = ChatMessage.Type.NONE,
 33                recipient = string.Empty,
 34                body = $"/goto {task.coordinates}",
 35            });
 36
 537            taskName.text = task.name;
 538            status.isOn = payload.isDone;
 539            progressText.text = $"{(int)task.progress}/1";
 540            ongoingProgress.transform.localScale = new Vector3(task.progress, 1, 1);
 541            ongoingProgress.color = task.progress < 1 ? ongoinColor : completedcolor;
 542        }
 43    }
 44}