< 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:43
Coverable lines:43
Total lines:115
Line coverage:0% (0 of 43)
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%
VoiceChatAction_OnFinished(...)0%2100%
SocialFeatureIsOpen(...)0%12300%

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.OnFriendsOpened += FriendsHud_OnFriendsOpened;
 036                    tutorialController.hudController.friendsHud.OnFriendsClosed += FriendsHud_OnFriendsClosed;
 37                }
 38
 039                if (voiceChatAction != null)
 40                {
 041                    voiceChatAction.OnStarted += VoiceChatAction_OnStarted;
 042                    voiceChatAction.OnFinished += VoiceChatAction_OnFinished;
 43                }
 44            }
 045        }
 46
 47        public override void OnStepFinished()
 48        {
 049            base.OnStepFinished();
 50
 051            tutorialController.SetTeacherCanvasSortingOrder(defaultTeacherCanvasSortOrder);
 52
 053            if (tutorialController != null &&
 54                tutorialController.hudController != null)
 55            {
 056                if (tutorialController.hudController.worldChatWindowHud != null)
 57                {
 058                    tutorialController.hudController.worldChatWindowHud.OnOpen -= WorldChatWindowHud_OnOpen;
 59                }
 60
 061                if (tutorialController.hudController.friendsHud != null)
 62                {
 063                    tutorialController.hudController.friendsHud.OnFriendsOpened -= FriendsHud_OnFriendsOpened;
 064                    tutorialController.hudController.friendsHud.OnFriendsClosed -= FriendsHud_OnFriendsClosed;
 65                }
 66
 067                if (voiceChatAction != null)
 68                {
 069                    voiceChatAction.OnStarted -= VoiceChatAction_OnStarted;
 070                    voiceChatAction.OnFinished -= VoiceChatAction_OnFinished;
 71                }
 72            }
 073        }
 74
 75        protected override void SetTooltipPosition()
 76        {
 077            base.SetTooltipPosition();
 78
 079            if (tutorialController != null &&
 80                tutorialController.hudController != null &&
 81                tutorialController.hudController.taskbarHud != null)
 82            {
 083                if (tutorialController.hudController.taskbarHud.socialTooltipReference)
 84                {
 085                    tooltipTransform.position =
 86                        tutorialController.hudController.taskbarHud.socialTooltipReference.position;
 87                }
 88            }
 089        }
 90
 091        internal void WorldChatWindowHud_OnOpen() { stepIsFinished = true; }
 92
 093        internal void FriendsHud_OnFriendsOpened() { SocialFeatureIsOpen(true); }
 94
 095        internal void FriendsHud_OnFriendsClosed() { SocialFeatureIsOpen(false); }
 96
 097        internal void VoiceChatAction_OnStarted(DCLAction_Hold action) { SocialFeatureIsOpen(true); }
 98
 099        internal void VoiceChatAction_OnFinished(DCLAction_Hold action) { SocialFeatureIsOpen(false); }
 100
 101        private void SocialFeatureIsOpen(bool isOpen)
 102        {
 0103            if (isOpen)
 104            {
 0105                isRelatedFeatureActived = true;
 0106                stepIsFinished = true;
 0107                tutorialController.PlayTeacherAnimation(TutorialTeacher.TeacherAnimation.QuickGoodbye);
 108            }
 0109            else if (isRelatedFeatureActived)
 110            {
 0111                isRelatedFeatureActived = false;
 112            }
 0113        }
 114    }
 115}