< Summary

Class:BuildModeConfirmationModalController
Assembly:BuildModeHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/Common/BuildModeConfirmationModalController.cs
Covered lines:24
Uncovered lines:0
Coverable lines:24
Total lines:76
Line coverage:100% (24 of 24)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize(...)0%110100%
Dispose()0%220100%
Configure(...)0%110100%
IsViewActive()0%110100%
SetActive(...)0%110100%
CancelExit()0%220100%
ConfirmExit()0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/Common/BuildModeConfirmationModalController.cs

#LineLine coverage
 1using System;
 2using UnityEngine;
 3
 4public enum BuildModeModalType
 5{
 6    EXIT,
 7    PUBLISH
 8}
 9
 10public interface IBuildModeConfirmationModalController
 11{
 12    event Action<BuildModeModalType> OnCancelExit;
 13    event Action<BuildModeModalType> OnConfirmExit;
 14
 15    bool IsViewActive();
 16    void Initialize(IBuildModeConfirmationModalView exitFromBiWModalView);
 17    void Dispose();
 18    void Configure(string titleText, string subTitleText, string cancelBtnText, string confirmBtnText);
 19    void SetActive(bool isActive, BuildModeModalType modalType);
 20    void CancelExit();
 21    void ConfirmExit();
 22}
 23
 24public class BuildModeConfirmationModalController : IBuildModeConfirmationModalController
 25{
 26    public event Action<BuildModeModalType> OnCancelExit;
 27    public event Action<BuildModeModalType> OnConfirmExit;
 28
 29    internal IBuildModeConfirmationModalView exitFromBiWModalView;
 30    internal BuildModeModalType modalType;
 31
 32    public void Initialize(IBuildModeConfirmationModalView exitFromBiWModalView)
 33    {
 634        this.exitFromBiWModalView = exitFromBiWModalView;
 35
 636        exitFromBiWModalView.OnCancelExit += CancelExit;
 637        exitFromBiWModalView.OnConfirmExit += ConfirmExit;
 638    }
 39
 40    public void Dispose()
 41    {
 742        if (exitFromBiWModalView == null)
 143            return;
 44
 645        exitFromBiWModalView.OnCancelExit -= CancelExit;
 646        exitFromBiWModalView.OnConfirmExit -= ConfirmExit;
 647    }
 48
 49    public void Configure(string titleText, string subTitleText, string cancelBtnText, string confirmBtnText)
 50    {
 151        exitFromBiWModalView.SetTitle(titleText);
 152        exitFromBiWModalView.SetSubTitle(subTitleText);
 153        exitFromBiWModalView.SetCancelButtonText(cancelBtnText);
 154        exitFromBiWModalView.SetConfirmButtonText(confirmBtnText);
 155    }
 56
 157    public bool IsViewActive() { return exitFromBiWModalView.IsActive(); }
 58
 59    public void SetActive(bool isActive, BuildModeModalType modalType)
 60    {
 461        this.modalType = modalType;
 462        exitFromBiWModalView.SetActive(isActive);
 463    }
 64
 65    public void CancelExit()
 66    {
 167        SetActive(false, modalType);
 168        OnCancelExit?.Invoke(modalType);
 169    }
 70
 71    public void ConfirmExit()
 72    {
 173        SetActive(false, modalType);
 174        OnConfirmExit?.Invoke(modalType);
 175    }
 76}