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 sign predictor /// public SignPredictor signPredictor; /// /// The function that is called by the publisher on all its listeners /// /// public IEnumerator ProcessIncomingCall() { yield return StartCoroutine(UpdateFeedback()); } /// /// A function to add yourself as listener to the signPredictor you are holding /// public void AddSelfAsListener() { signPredictor.listeners.Add(this); } /// /// The function that holds the logic to process the new probabilities of the signPredictor /// /// protected abstract IEnumerator UpdateFeedback(); }