< Summary

Class:DCLFeatures.CameraReel.ScreenshotViewer.ScreenshotViewerView
Assembly:CameraReel
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLFeatures/CameraReel/ScreenshotViewer/Scripts/ScreenshotViewerView.cs
Covered lines:0
Uncovered lines:24
Coverable lines:24
Total lines:76
Line coverage:0% (0 of 24)
Covered branches:0
Total branches:0
Covered methods:0
Total methods:13
Method coverage:0% (0 of 13)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ScreenshotViewerView()0%2100%
Awake()0%2100%
OnEnable()0%2100%
OnDisable()0%2100%
Dispose()0%2100%
Hide()0%2100%
Show()0%2100%
SetScreenshotImage(...)0%2100%
ToggleInfoSidePanel()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLFeatures/CameraReel/ScreenshotViewer/Scripts/ScreenshotViewerView.cs

#LineLine coverage
 1using DCL.Helpers;
 2using System;
 3using UnityEngine;
 4using UnityEngine.UI;
 5
 6namespace DCLFeatures.CameraReel.ScreenshotViewer
 7{
 8    public class ScreenshotViewerView : MonoBehaviour, IScreenshotViewerView
 9    {
 10        private const float SIDE_PANEL_ANIM_DURATION = 0.5f;
 11
 12        [SerializeField] private ImageComponentView screenshotImage;
 13        [SerializeField] private RectTransform rootContainer;
 14
 15        [Header("NAVIGATION BUTTONS")]
 16        [SerializeField] private Button closeView;
 17        [SerializeField] private Button prevScreenshotButton;
 18        [SerializeField] private Button nextScreenshotButton;
 19
 20        private MetadataSidePanelAnimator metadataSidePanelAnimator;
 21
 022        private bool metadataPanelIsOpen = true;
 23
 024        [field: SerializeField] public ScreenshotViewerActionsPanelView ActionPanel { get; private set; }
 025        [field: SerializeField] public ScreenshotViewerInfoSidePanelView InfoSidePanel { get; private set; }
 26
 27        public event Action CloseButtonClicked;
 28        public event Action PrevScreenshotClicked;
 29        public event Action NextScreenshotClicked;
 30
 31        private void Awake()
 32        {
 033            metadataSidePanelAnimator = new MetadataSidePanelAnimator(rootContainer, ActionPanel.InfoButtonBackground);
 034        }
 35
 36        private void OnEnable()
 37        {
 038            closeView.onClick.AddListener(() => CloseButtonClicked?.Invoke());
 039            prevScreenshotButton.onClick.AddListener(() => PrevScreenshotClicked?.Invoke());
 040            nextScreenshotButton.onClick.AddListener(() => NextScreenshotClicked?.Invoke());
 041        }
 42
 43        private void OnDisable()
 44        {
 045            closeView.onClick.RemoveAllListeners();
 046            prevScreenshotButton.onClick.RemoveAllListeners();
 047            nextScreenshotButton.onClick.RemoveAllListeners();
 048        }
 49
 50        public void Dispose()
 51        {
 052            Utils.SafeDestroy(gameObject);
 053        }
 54
 55        public void Hide()
 56        {
 057            gameObject.SetActive(false);
 058        }
 59
 60        public void Show()
 61        {
 062            gameObject.SetActive(true);
 063        }
 64
 65        public void SetScreenshotImage(string url)
 66        {
 067            screenshotImage.SetImage(url);
 068        }
 69
 70        public void ToggleInfoSidePanel()
 71        {
 072            metadataSidePanelAnimator.ToggleSizeMode(toFullScreen: metadataPanelIsOpen, SIDE_PANEL_ANIM_DURATION);
 073            metadataPanelIsOpen = !metadataPanelIsOpen;
 074        }
 75    }
 76}