< Summary

Class:DigicodeHandler
Assembly:Test
File(s):D:/--UnityProject/VR/VRExplorer_subjects/EscapeGameVR/Assets/Scripts/Test/Digicode/DigicodeHandler.cs
Covered lines:10
Uncovered lines:36
Coverable lines:46
Total lines:79
Line coverage:21.7% (10 of 46)
Covered branches:0
Total branches:0
Covered methods:3
Total methods:6
Method coverage:50% (3 of 6)

Coverage History

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
DigicodeHandler()0%000100%
Start()0%000100%
UpdateDisplay()0%000100%
PressButton(...)0%0000%
CheckCurrentCode()0%0000%
PlayOpenTubeSound()0%0000%

File(s)

D:/--UnityProject/VR/VRExplorer_subjects/EscapeGameVR/Assets/Scripts/Test/Digicode/DigicodeHandler.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using TMPro;
 4using UnityEngine;
 5
 6public class DigicodeHandler : MonoBehaviour
 7{
 128    [SerializeField] private string correctCode = "1234";
 129    private string currentCode = "";
 10
 11    [SerializeField] private GameObject displayText;
 12    private TextMeshProUGUI displayTextMechPro;
 13
 14    [SerializeField] private AudioSource audioCorrectCode;
 15    [SerializeField] private AudioSource audioWrongCode;
 16    [SerializeField] private AudioSource openPotionTubeSound;
 1217    private bool soundAlreadyPlayed = false;
 18
 19    [SerializeField] private Animator dropPotionAnim;
 20
 21
 22    // Start is called before the first frame update
 23    void Start()
 624    {
 625        displayTextMechPro = displayText.GetComponent<TextMeshProUGUI>();
 626        UpdateDisplay();
 627    }
 28
 29    private void UpdateDisplay()
 630    {
 631        displayTextMechPro.text = currentCode;
 632    }
 33
 34    public void PressButton(int number)
 035    {
 036        currentCode += number.ToString();
 037        UpdateDisplay();
 038        if (currentCode.Length == correctCode.Length)
 039        {
 040            StartCoroutine(CheckCurrentCode());
 041        }
 042    }
 43
 44    private IEnumerator CheckCurrentCode()
 045    {
 046        if (currentCode == correctCode)
 047        {
 048            displayTextMechPro.color = Color.green;
 049            audioCorrectCode.Play();
 50            //Code is correct
 051            if(dropPotionAnim != null)
 052            {
 053                dropPotionAnim.SetTrigger("TriggerDropPotion");
 054                StartCoroutine(PlayOpenTubeSound());
 055            }
 56
 057        }
 58        else
 059        {
 060            displayTextMechPro.color = Color.red;
 061            audioWrongCode.Play();
 62            //BEEEP code incorrect
 063        }
 064        yield return new WaitForSeconds(1);
 065        currentCode = "";
 066        UpdateDisplay();
 067        displayTextMechPro.color = Color.white;
 068    }
 69
 70    private IEnumerator PlayOpenTubeSound()
 071    {
 072        yield return new WaitForSeconds(1);
 073        if (!soundAlreadyPlayed)
 074        {
 075            soundAlreadyPlayed = true;
 076            openPotionTubeSound.Play();
 077        }
 078    }
 79}