using DigitalRuby.Tween; using Mediapipe.Unity.Tutorial; using System; using System.Collections; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; /// /// Class to display feedback during a course /// public abstract class AbstractFeedback : MonoBehaviour, Listener { /// /// Reference to the feedback field /// public TMP_Text feedbackText; /// /// Reference to the progress bar /// public Slider feedbackProgress; /// /// Reference to the progress bar image, so we can add fancy colors /// public Image feedbackProgressImage; /// /// Reference to the sign predictor /// public SignPredictor signPredictor; /// /// Timer to keep track of how long a incorrect sign is performed /// protected DateTime timer; /// /// Current predicted sign /// protected string predictedSign = null; /// /// Previous incorrect sign, so we can keep track whether the user is wrong or the user is still changing signs /// protected string previousIncorrectSign = null; public IEnumerator ProcessIncomingCall() { //UpdateFeedback2(); yield return StartCoroutine(UpdateFeedback()); } public void AddSelfAsListener() { signPredictor.listeners.Add(this); } public void Empty() { } protected abstract IEnumerator UpdateFeedback(); }