< Summary

Class:BallBounce
Assembly:Test
File(s):D:/--UnityProject/VR/VRExplorer_subjects/VR-Room/Assets/_Course Library/Scripts/Test/BallBounce.cs
Covered lines:10
Uncovered lines:0
Coverable lines:10
Total lines:44
Line coverage:100% (10 of 10)
Covered branches:0
Total branches:0
Covered methods:2
Total methods:2
Method coverage:100% (2 of 2)

Coverage History

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Start()0%000100%
OnCollisionEnter(...)0%000100%

File(s)

D:/--UnityProject/VR/VRExplorer_subjects/VR-Room/Assets/_Course Library/Scripts/Test/BallBounce.cs

#LineLine coverage
 1using BNG;
 2using System.Diagnostics.CodeAnalysis;
 3using UnityEngine;
 4using VRExplorer;
 5
 6[RequireComponent(typeof(AudioSource))]
 7public class BallBounce : MonoBehaviour, IGrabbableEntity
 8{
 9    [ExcludeFromCodeCoverage]
 10    public Grabbable Grabbable
 11    {
 12        get
 13        {
 14            var g = GetComponent<Grabbable>();
 15            if(g) return g;
 16            return gameObject.AddComponent<Grabbable>();
 17        }
 18    }
 19    [ExcludeFromCodeCoverage] public string Name => Str.Grabbable;
 20
 21    [ExcludeFromCodeCoverage]
 22    public void OnGrabbed()
 23    {
 24    }
 25
 26    public AudioClip collisionSound; // Sound clip for ball collision
 27
 28    private AudioSource audioSource; // Reference to the AudioSource component
 29
 30    private void Start()
 431    {
 432        audioSource = GetComponent<AudioSource>();
 433        audioSource.clip = collisionSound;
 434    }
 35
 36    private void OnCollisionEnter(Collision collision)
 8637    {
 38        // Play the collision sound if a collision occurs
 8639        if (collision.relativeVelocity.magnitude > 0.5f)
 6040        {
 6041            audioSource.PlayOneShot(collisionSound);
 6042        }
 8643    }
 44}