/// <summary> /// The method is called when the verification action is triggered /// </summary> /// Calls upon the ResultVerifier class to compare the content of the Glassware with the /// expected result for the actual phase. /// The call is made by the different methods associated with the different types of steps public void VerifyStep() { bool complete = false; switch (progressController.StepType) { case TypeOfStep.CompoundClass: checkCompoundClassCanvas.SetActive(false); complete = ResultVerifier.GetInstance().VerifyCheckBox(checkBoxSelected); break; case TypeOfStep.WhatCompound: string compoundAnswer = whatCompoundAnswer.text; checkWhatCompoundCanvas.SetActive(false); GameObject.Find("GameController").GetComponent <HUDController> ().LockKeys(false); complete = ResultVerifier.GetInstance().VerifyTextBox(compoundAnswer); break; case TypeOfStep.MolarityCheck: string molAnswer = molarityAnswer.text; checkMolarityValueCanvas.SetActive(false); GameObject.Find("GameController").GetComponent <HUDController> ().LockKeys(false); complete = ResultVerifier.GetInstance().VerifyTextBox(molAnswer); break; case TypeOfStep.GlasswareCheck: if (currentIndex.Length > 0) //Case there is a Glassware being verified { checkGlasswareCanvas.SetActive(false); complete = ResultVerifier.GetInstance().VerifyGlassware(GameObject.Find(currentIndex).GetComponent <Glassware>()); } break; } //Completes the step or shows the wrong-answer animation //TODO: Add verification is currentIndex.Length > 0 if (complete == true) { progressController.CompleteStep(); } else { progressController.WrongAnswer(); } }