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();
}