< Summary

Class:DCL.Tutorial.TutorialStep_Tooltip_SocialFeatures
Assembly:Onboarding
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Tutorial/Scripts/Steps/Initial/TutorialStep_Tooltip_SocialFeatures.cs
Covered lines:0
Uncovered lines:42
Coverable lines:42
Total lines:115
Line coverage:0% (0 of 42)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
OnStepStart()0%56700%
OnStepFinished()0%42600%
SetTooltipPosition()0%30500%
WorldChatWindowHud_OnOpen()0%2100%
FriendsHud_OnFriendsOpened()0%2100%
FriendsHud_OnFriendsClosed()0%2100%
VoiceChatAction_OnStarted(...)0%2100%
SocialFeatureIsOpen(...)0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Tutorial/Scripts/Steps/Initial/TutorialStep_Tooltip_SocialFeatures.cs

#LineLine coverage
 1using UnityEngine;
 2
 3namespace DCL.Tutorial
 4{
 5    /// <summary>
 6    /// Class that represents the onboarding tutorial step related to show the social features available in the taskbar.
 7    /// </summary>
 8    public class TutorialStep_Tooltip_SocialFeatures : TutorialStep_Tooltip
 9    {
 10        private const int TEACHER_CANVAS_SORT_ORDER_START = 4;
 11
 12        [SerializeField] InputAction_Hold voiceChatAction;
 13
 14        private int defaultTeacherCanvasSortOrder;
 15
 16        public override void OnStepStart()
 17        {
 018            base.OnStepStart();
 19
 020            if (tutorialController.configuration.teacherCanvas != null)
 021                defaultTeacherCanvasSortOrder = tutorialController.configuration.teacherCanvas.sortingOrder;
 22
 023            tutorialController.SetTeacherCanvasSortingOrder(TEACHER_CANVAS_SORT_ORDER_START);
 24
 025            if (tutorialController != null &&
 26                tutorialController.hudController != null)
 27            {
 028                if (tutorialController.hudController.worldChatWindowHud != null)
 29                {
 030                    tutorialController.hudController.worldChatWindowHud.OnOpen += WorldChatWindowHud_OnOpen;
 31                }
 32
 033                if (tutorialController.hudController.friendsHud != null)
 34                {
 035                    tutorialController.hudController.friendsHud.OnOpened += FriendsHud_OnFriendsOpened;
 036                    tutorialController.hudController.friendsHud.OnClosed += FriendsHud_OnFriendsClosed;
 37                }
 38
 039                if (voiceChatAction != null)
 40                {
 041                    voiceChatAction.OnStarted += VoiceChatAction_OnStarted;
 42                }
 43            }
 044        }
 45
 46        public override void OnStepFinished()
 47        {
 048            base.OnStepFinished();
 49
 050            tutorialController.SetTeacherCanvasSortingOrder(defaultTeacherCanvasSortOrder);
 51
 052            if (tutorialController != null &&
 53                tutorialController.hudController != null)
 54            {
 055                if (tutorialController.hudController.worldChatWindowHud != null)
 56                {
 057                    tutorialController.hudController.worldChatWindowHud.OnOpen -= WorldChatWindowHud_OnOpen;
 58                }
 59
 060                if (tutorialController.hudController.friendsHud != null)
 61                {
 062                    tutorialController.hudController.friendsHud.OnOpened -= FriendsHud_OnFriendsOpened;
 063                    tutorialController.hudController.friendsHud.OnClosed -= FriendsHud_OnFriendsClosed;
 64                }
 65
 066                if (voiceChatAction != null)
 67                {
 068                    voiceChatAction.OnStarted -= VoiceChatAction_OnStarted;
 69                }
 70            }
 071        }
 72
 73        protected override void SetTooltipPosition()
 74        {
 075            base.SetTooltipPosition();
 76
 077            if (tutorialController != null &&
 78                tutorialController.hudController != null &&
 79                tutorialController.hudController.taskbarHud != null)
 80            {
 081                if (tutorialController.hudController.taskbarHud.socialTooltipReference)
 82                {
 083                    tooltipTransform.position =
 84                        tutorialController.hudController.taskbarHud.socialTooltipReference.position;
 85                }
 86            }
 087        }
 88
 089        internal void WorldChatWindowHud_OnOpen() { stepIsFinished = true; }
 90
 091        internal void FriendsHud_OnFriendsOpened() { SocialFeatureIsOpen(true); }
 92
 93        internal void FriendsHud_OnFriendsClosed()
 94        {
 095            SocialFeatureIsOpen(false);
 096            isRelatedFeatureActived = false;
 097        }
 98
 99        internal void VoiceChatAction_OnStarted(DCLAction_Hold action)
 100        {
 0101            SocialFeatureIsOpen(true);
 0102            isRelatedFeatureActived = false;
 0103        }
 104
 105        private void SocialFeatureIsOpen(bool isOpen)
 106        {
 0107            if (isOpen)
 108            {
 0109                isRelatedFeatureActived = true;
 0110                stepIsFinished = true;
 0111                tutorialController.PlayTeacherAnimation(TutorialTeacher.TeacherAnimation.QuickGoodbye);
 112            }
 0113        }
 114    }
 115}