< 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:113
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%42600%
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            defaultTeacherCanvasSortOrder = tutorialController.teacherCanvas.sortingOrder;
 021            tutorialController.SetTeacherCanvasSortingOrder(TEACHER_CANVAS_SORT_ORDER_START);
 22
 023            if (tutorialController != null &&
 24                tutorialController.hudController != null)
 25            {
 026                if (tutorialController.hudController.worldChatWindowHud != null)
 27                {
 028                    tutorialController.hudController.worldChatWindowHud.OnOpen += WorldChatWindowHud_OnOpen;
 29                }
 30
 031                if (tutorialController.hudController.friendsHud != null)
 32                {
 033                    tutorialController.hudController.friendsHud.OnFriendsOpened += FriendsHud_OnFriendsOpened;
 034                    tutorialController.hudController.friendsHud.OnFriendsClosed += FriendsHud_OnFriendsClosed;
 35                }
 36
 037                if (voiceChatAction != null)
 38                {
 039                    voiceChatAction.OnStarted += VoiceChatAction_OnStarted;
 040                    voiceChatAction.OnFinished += VoiceChatAction_OnFinished;
 41                }
 42            }
 043        }
 44
 45        public override void OnStepFinished()
 46        {
 047            base.OnStepFinished();
 48
 049            tutorialController.SetTeacherCanvasSortingOrder(defaultTeacherCanvasSortOrder);
 50
 051            if (tutorialController != null &&
 52                tutorialController.hudController != null)
 53            {
 054                if (tutorialController.hudController.worldChatWindowHud != null)
 55                {
 056                    tutorialController.hudController.worldChatWindowHud.OnOpen -= WorldChatWindowHud_OnOpen;
 57                }
 58
 059                if (tutorialController.hudController.friendsHud != null)
 60                {
 061                    tutorialController.hudController.friendsHud.OnFriendsOpened -= FriendsHud_OnFriendsOpened;
 062                    tutorialController.hudController.friendsHud.OnFriendsClosed -= FriendsHud_OnFriendsClosed;
 63                }
 64
 065                if (voiceChatAction != null)
 66                {
 067                    voiceChatAction.OnStarted -= VoiceChatAction_OnStarted;
 068                    voiceChatAction.OnFinished -= VoiceChatAction_OnFinished;
 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        private void WorldChatWindowHud_OnOpen() { stepIsFinished = true; }
 90
 091        private void FriendsHud_OnFriendsOpened() { SocialFeatureIsOpen(true); }
 92
 093        private void FriendsHud_OnFriendsClosed() { SocialFeatureIsOpen(false); }
 94
 095        private void VoiceChatAction_OnStarted(DCLAction_Hold action) { SocialFeatureIsOpen(true); }
 96
 097        private void VoiceChatAction_OnFinished(DCLAction_Hold action) { SocialFeatureIsOpen(false); }
 98
 99        private void SocialFeatureIsOpen(bool isOpen)
 100        {
 0101            if (isOpen)
 102            {
 0103                isRelatedFeatureActived = true;
 0104                stepIsFinished = true;
 0105                tutorialController.PlayTeacherAnimation(TutorialTeacher.TeacherAnimation.QuickGoodbye);
 0106            }
 0107            else if (isRelatedFeatureActived)
 108            {
 0109                isRelatedFeatureActived = false;
 110            }
 0111        }
 112    }
 113}