< Summary

Class:TopActionsButtonsController
Assembly:BuildModeHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/GodMode/TopActionsButtons/TopActionsButtonsController.cs
Covered lines:74
Uncovered lines:6
Coverable lines:80
Total lines:170
Line coverage:92.5% (74 of 80)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize(...)0%110100%
Dispose()0%220100%
ChangeModeClicked()0%220100%
ExtraClicked()0%220100%
TranslateClicked()0%220100%
RotateClicked()0%220100%
ScaleClicked()0%220100%
UndoClicked()0%220100%
RedoClicked()0%220100%
DuplicateClicked()0%220100%
DeleteClicked()0%220100%
LogoutClicked()0%220100%
SnapModeClicked()0%6200%
ConfirmLogout(...)0%3.143075%
TooltipPointerEntered(...)0%110100%
TooltipPointerExited()0%110100%
SetExtraActionsActive(...)0%2100%
SetGizmosActive(...)0%110100%
SetActionsInteractable(...)0%110100%
SetSnapActive(...)0%110100%
SetUndoInteractable(...)0%2100%
SetRedoInteractable(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/GodMode/TopActionsButtons/TopActionsButtonsController.cs

#LineLine coverage
 1using System;
 2using UnityEngine.EventSystems;
 3
 4public interface ITopActionsButtonsController
 5{
 6    event Action OnChangeModeClick;
 7    event Action OnExtraClick;
 8    event Action OnTranslateClick;
 9    event Action OnRotateClick;
 10    event Action OnScaleClick;
 11    event Action OnUndoClick;
 12    event Action OnRedoClick;
 13    event Action OnDuplicateClick;
 14    event Action OnDeleteClick;
 15    event Action OnLogOutClick;
 16    event Action OnSnapModeClick;
 17
 18    IExtraActionsController extraActionsController { get; }
 19
 20    void Initialize(ITopActionsButtonsView topActionsButtonsView, ITooltipController tooltipController);
 21    void Dispose();
 22    void ChangeModeClicked();
 23    void ExtraClicked();
 24    void TranslateClicked();
 25    void RotateClicked();
 26    void ScaleClicked();
 27    void UndoClicked();
 28    void RedoClicked();
 29    void DuplicateClicked();
 30    void DeleteClicked();
 31    void LogoutClicked();
 32    void ConfirmLogout(BuildModeModalType modalType);
 33    void TooltipPointerEntered(BaseEventData eventData, string tooltipText);
 34    void TooltipPointerExited();
 35    void SetExtraActionsActive(bool isActive);
 36    void SetGizmosActive(string gizmos);
 37    void SetActionsInteractable(bool isActive);
 38    void SetSnapActive(bool isActive);
 39    void SetUndoInteractable(bool isActive);
 40    void SetRedoInteractable(bool isActive);
 41}
 42
 43public class TopActionsButtonsController : ITopActionsButtonsController
 44{
 45    public event Action OnChangeModeClick;
 46    public event Action OnExtraClick;
 47    public event Action OnTranslateClick;
 48    public event Action OnRotateClick;
 49    public event Action OnScaleClick;
 50    public event Action OnUndoClick;
 51    public event Action OnRedoClick;
 52    public event Action OnDuplicateClick;
 53    public event Action OnDeleteClick;
 54    public event Action OnLogOutClick;
 55    public event Action OnSnapModeClick;
 56
 057    public IExtraActionsController extraActionsController { get; private set; }
 58
 59    internal ITopActionsButtonsView topActionsButtonsView;
 60    internal ITooltipController tooltipController;
 61
 62    public void Initialize(ITopActionsButtonsView topActionsButtonsView, ITooltipController tooltipController)
 63    {
 1864        this.topActionsButtonsView = topActionsButtonsView;
 1865        this.tooltipController = tooltipController;
 66
 1867        topActionsButtonsView.OnChangeModeClicked += ChangeModeClicked;
 1868        topActionsButtonsView.OnExtraClicked += ExtraClicked;
 1869        topActionsButtonsView.OnTranslateClicked += TranslateClicked;
 1870        topActionsButtonsView.OnRotateClicked += RotateClicked;
 1871        topActionsButtonsView.OnScaleClicked += ScaleClicked;
 1872        topActionsButtonsView.OnUndoClicked += UndoClicked;
 1873        topActionsButtonsView.OnRedoClicked += RedoClicked;
 1874        topActionsButtonsView.OnDuplicateClicked += DuplicateClicked;
 1875        topActionsButtonsView.OnDeleteClicked += DeleteClicked;
 1876        topActionsButtonsView.OnLogOutClicked += LogoutClicked;
 1877        topActionsButtonsView.OnPointerExit += TooltipPointerExited;
 1878        topActionsButtonsView.OnChangeCameraModePointerEnter += TooltipPointerEntered;
 1879        topActionsButtonsView.OnTranslatePointerEnter += TooltipPointerEntered;
 1880        topActionsButtonsView.OnRotatePointerEnter += TooltipPointerEntered;
 1881        topActionsButtonsView.OnScalePointerEnter += TooltipPointerEntered;
 1882        topActionsButtonsView.OnUndoPointerEnter += TooltipPointerEntered;
 1883        topActionsButtonsView.OnRedoPointerEnter += TooltipPointerEntered;
 1884        topActionsButtonsView.OnDuplicatePointerEnter += TooltipPointerEntered;
 1885        topActionsButtonsView.OnDeletePointerEnter += TooltipPointerEntered;
 1886        topActionsButtonsView.OnMoreActionsPointerEnter += TooltipPointerEntered;
 1887        topActionsButtonsView.OnLogoutPointerEnter += TooltipPointerEntered;
 1888        topActionsButtonsView.OnSnapModePointerEnter += TooltipPointerEntered;
 1889        topActionsButtonsView.OnSnapModeClicked += SnapModeClicked;
 90
 1891        extraActionsController = new ExtraActionsController();
 1892        topActionsButtonsView.ConfigureExtraActions(extraActionsController);
 1893        extraActionsController.SetActive(false);
 1894    }
 95
 96    public void Dispose()
 97    {
 1998        if(topActionsButtonsView == null)
 199            return;
 100
 18101        topActionsButtonsView.OnChangeModeClicked -= ChangeModeClicked;
 18102        topActionsButtonsView.OnExtraClicked -= ExtraClicked;
 18103        topActionsButtonsView.OnTranslateClicked -= TranslateClicked;
 18104        topActionsButtonsView.OnRotateClicked -= RotateClicked;
 18105        topActionsButtonsView.OnScaleClicked -= ScaleClicked;
 18106        topActionsButtonsView.OnUndoClicked -= UndoClicked;
 18107        topActionsButtonsView.OnRedoClicked -= RedoClicked;
 18108        topActionsButtonsView.OnDuplicateClicked -= DuplicateClicked;
 18109        topActionsButtonsView.OnDeleteClicked -= DeleteClicked;
 18110        topActionsButtonsView.OnLogOutClicked -= LogoutClicked;
 18111        topActionsButtonsView.OnPointerExit -= TooltipPointerExited;
 18112        topActionsButtonsView.OnChangeCameraModePointerEnter -= TooltipPointerEntered;
 18113        topActionsButtonsView.OnTranslatePointerEnter -= TooltipPointerEntered;
 18114        topActionsButtonsView.OnRotatePointerEnter -= TooltipPointerEntered;
 18115        topActionsButtonsView.OnScalePointerEnter -= TooltipPointerEntered;
 18116        topActionsButtonsView.OnUndoPointerEnter -= TooltipPointerEntered;
 18117        topActionsButtonsView.OnRedoPointerEnter -= TooltipPointerEntered;
 18118        topActionsButtonsView.OnDuplicatePointerEnter -= TooltipPointerEntered;
 18119        topActionsButtonsView.OnDeletePointerEnter -= TooltipPointerEntered;
 18120        topActionsButtonsView.OnMoreActionsPointerEnter -= TooltipPointerEntered;
 18121        topActionsButtonsView.OnLogoutPointerEnter -= TooltipPointerEntered;
 18122        topActionsButtonsView.OnSnapModePointerEnter -= TooltipPointerEntered;
 18123    }
 124
 2125    public void ChangeModeClicked() { OnChangeModeClick?.Invoke(); }
 126
 2127    public void ExtraClicked() { OnExtraClick?.Invoke(); }
 128
 2129    public void TranslateClicked() { OnTranslateClick?.Invoke(); }
 130
 2131    public void RotateClicked() { OnRotateClick?.Invoke(); }
 132
 2133    public void ScaleClicked() { OnScaleClick?.Invoke(); }
 134
 2135    public void UndoClicked() { OnUndoClick?.Invoke(); }
 136
 2137    public void RedoClicked() { OnRedoClick?.Invoke(); }
 138
 2139    public void DuplicateClicked() { OnDuplicateClick?.Invoke(); }
 140
 2141    public void DeleteClicked() { OnDeleteClick?.Invoke(); }
 142
 2143    public void LogoutClicked() { OnLogOutClick?.Invoke(); }
 144
 0145    public void SnapModeClicked() { OnSnapModeClick?.Invoke(); }
 146
 147    public void ConfirmLogout(BuildModeModalType modalType)
 148    {
 1149        if (modalType != BuildModeModalType.EXIT)
 0150            return;
 151
 1152        OnLogOutClick?.Invoke();
 1153    }
 154
 155    public void TooltipPointerEntered(BaseEventData eventData, string tooltipText)
 156    {
 1157        tooltipController.ShowTooltip(eventData);
 1158        tooltipController.SetTooltipText(tooltipText);
 1159    }
 160
 2161    public void TooltipPointerExited() { tooltipController.HideTooltip(); }
 162
 0163    public void SetExtraActionsActive(bool isActive) { extraActionsController.SetActive(isActive); }
 2164    public void SetGizmosActive(string gizmos) { topActionsButtonsView.SetGizmosActive(gizmos); }
 4165    public void SetActionsInteractable(bool isActive) { topActionsButtonsView.SetActionsInteractable(isActive); }
 4166    public void SetSnapActive(bool isActive) { topActionsButtonsView.SetSnapActive(isActive); }
 0167    public void SetUndoInteractable(bool isActive) { topActionsButtonsView.SetUndoInteractable(isActive); }
 168
 0169    public void SetRedoInteractable(bool isActive) { topActionsButtonsView.SetRedoInteractable(isActive); }
 170}