< Summary

Class:PlaySoundsFromList
Assembly:Test
File(s):E:/Unity/Unity Project/VR-Basics/Assets/_Course Library/Scripts/Core/PlaySoundsFromList.cs
Covered lines:19
Uncovered lines:21
Coverable lines:40
Total lines:74
Line coverage:47.5% (19 of 40)
Covered branches:0
Total branches:0
Covered methods:5
Total methods:11
Method coverage:45.4% (5 of 11)

Coverage History

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
PlaySoundsFromList()0%000100%
Awake()0%000100%
NextClip()0%0000%
PreviousClip()0%0000%
RandomClip()0%0000%
PlayAtIndex(...)0%000100%
PauseClip()0%0000%
StopClip()0%0000%
PlayCurrentClip()0%0000%
PlayClip()0%000100%
OnValidate()0%000100%

File(s)

E:/Unity/Unity Project/VR-Basics/Assets/_Course Library/Scripts/Core/PlaySoundsFromList.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using UnityEngine;
 3
 4/// <summary>
 5/// Play from a list of sounds using next, previous, and random
 6/// </summary>
 7[RequireComponent(typeof(AudioSource))]
 8public class PlaySoundsFromList : MonoBehaviour
 9{
 10    [Tooltip("Loop the currently playing sound")]
 1311    public bool shouldLoop = false;
 12
 13    [Tooltip("The list of audio clips to play from")]
 1314    public List<AudioClip> audioClips = new List<AudioClip>();
 15
 1316    private AudioSource audioSource = null;
 1317    private int index = 0;
 18
 19    private void Awake()
 620    {
 621        audioSource = GetComponent<AudioSource>();
 622    }
 23
 24    public void NextClip()
 025    {
 026        index = ++index % audioClips.Count;
 027        PlayClip();
 028    }
 29
 30    public void PreviousClip()
 031    {
 032        index = --index % audioClips.Count;
 033        PlayClip();
 034    }
 35
 36    public void RandomClip()
 037    {
 038        index = Random.Range(0, audioClips.Count);
 039        PlayClip();
 040    }
 41
 42    public void PlayAtIndex(int value)
 243    {
 244        index = Mathf.Clamp(value, 0, audioClips.Count);
 245        PlayClip();
 246    }
 47
 48    public void PauseClip()
 049    {
 050        audioSource.Pause();
 051    }
 52
 53    public void StopClip()
 054    {
 055        audioSource.Stop();
 056    }
 57
 58    public void PlayCurrentClip()
 059    {
 060        PlayClip();
 061    }
 62
 63    private void PlayClip()
 264    {
 265        audioSource.clip = audioClips[Mathf.Abs(index)];
 266        audioSource.Play();
 267    }
 68
 69    private void OnValidate()
 1370    {
 1371        AudioSource audioSource = GetComponent<AudioSource>();
 1372        audioSource.loop = shouldLoop;
 1373    }
 74}