< Summary

Class:TutorialMusicHandler
Assembly:Onboarding
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Tutorial/Scripts/TutorialMusicHandler.cs
Covered lines:23
Uncovered lines:7
Coverable lines:30
Total lines:70
Line coverage:76.6% (23 of 30)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
OnDestroy()0%220100%
StopTutorialMusic()0%330100%
TryPlayingMusic()0%4.034087.5%
OnAvatarEditorMusicPlay()0%6200%
OnAvatarEditorMusicStop()0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Tutorial/Scripts/TutorialMusicHandler.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using DCL;
 4using UnityEngine;
 5
 6public class TutorialMusicHandler : MonoBehaviour
 7{
 8    [SerializeField] AudioEvent tutorialMusic, avatarEditorMusic;
 9
 10    Coroutine fadeOut;
 11
 12    private void Awake()
 13    {
 4114        avatarEditorMusic.OnPlay += OnAvatarEditorMusicPlay;
 4115        avatarEditorMusic.OnStop += OnAvatarEditorMusicStop;
 4116    }
 17
 18    private void OnDestroy()
 19    {
 4120        avatarEditorMusic.OnPlay -= OnAvatarEditorMusicPlay;
 4121        avatarEditorMusic.OnStop -= OnAvatarEditorMusicStop;
 22
 4123        if (fadeOut != null)
 24        {
 1825            CoroutineStarter.Stop(fadeOut);
 1826            fadeOut = null;
 27        }
 4128    }
 29    public void StopTutorialMusic()
 30    {
 6831        DataStore.i.virtualAudioMixer.sceneSFXVolume.Set(1f);
 32
 6833        if (fadeOut != null)
 34        {
 1735            CoroutineStarter.Stop(fadeOut);
 1736            fadeOut = null;
 37        }
 38
 6839        if (tutorialMusic.source.isPlaying)
 3540            fadeOut = CoroutineStarter.Start(tutorialMusic.FadeOut(3f));
 6841    }
 42
 43    public void TryPlayingMusic()
 44    {
 2045        if (DCL.Tutorial.TutorialController.i.userAlreadyDidTheTutorial)
 246            return;
 47
 1848        if (!tutorialMusic.source.isPlaying)
 49        {
 1850            if (fadeOut != null)
 51            {
 052                CoroutineStarter.Stop(fadeOut);
 53            }
 1854            DataStore.i.virtualAudioMixer.sceneSFXVolume.Set(0f);
 1855            tutorialMusic.Play();
 56        }
 1857    }
 58
 59    void OnAvatarEditorMusicPlay()
 60    {
 061        if (tutorialMusic.source.isPlaying)
 062            fadeOut = CoroutineStarter.Start(tutorialMusic.FadeOut(1.5f, false));
 063    }
 64
 65    void OnAvatarEditorMusicStop()
 66    {
 067        if (tutorialMusic.source.isPlaying)
 068            CoroutineStarter.Start(tutorialMusic.FadeIn(2.5f));
 069    }
 70}