80 lines
2.1 KiB
C#
80 lines
2.1 KiB
C#
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
/// Class to handle panel with only image and webcam
|
|
/// </summary>
|
|
public class PanelWithImage : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// Reference to the feedback progress bar
|
|
/// </summary>
|
|
public GameObject feedbackProgressObject;
|
|
|
|
/// <summary>
|
|
/// Reference to the object containing the message for when the course is loaded in preview mode
|
|
/// </summary>
|
|
public GameObject previewMessage;
|
|
|
|
/// <summary>
|
|
/// True if the course is loaded in preview mode, false otherwise
|
|
/// </summary>
|
|
public bool isPreview;
|
|
|
|
/// <summary>
|
|
/// Reference to the image for displaying the current words sprite
|
|
/// </summary>
|
|
public Transform signImageContainer;
|
|
|
|
/// <summary>
|
|
/// Reference to the prefab for displaying the image
|
|
/// </summary>
|
|
public GameObject signImagePrefab;
|
|
|
|
/// <summary>
|
|
/// Reference to the webcam
|
|
/// </summary>
|
|
public RawImage webcamScreen;
|
|
|
|
/// <summary>
|
|
/// Reference to the feedback field
|
|
/// </summary>
|
|
public TMP_Text feedbackText;
|
|
|
|
/// <summary>
|
|
/// Reference to the progress bar
|
|
/// </summary>
|
|
public Slider feedbackProgressBar;
|
|
|
|
/// <summary>
|
|
/// Reference to the progress bar image, so we can add fancy colors
|
|
/// </summary>
|
|
public Image feedbackProgressImage;
|
|
|
|
/// <summary>
|
|
/// Reference to the list of learnables
|
|
/// </summary>
|
|
public List<Learnable> signs;
|
|
|
|
/// <summary>
|
|
/// Index of the current learnable in the list with learnables
|
|
/// </summary>
|
|
public int currentSignIndex;
|
|
|
|
/// <summary>
|
|
/// Update the display of this panel
|
|
/// </summary>
|
|
public void Display()
|
|
{
|
|
Learnable currentSign = signs[currentSignIndex];
|
|
|
|
feedbackProgressObject.SetActive(!isPreview);
|
|
previewMessage.SetActive(isPreview);
|
|
|
|
GameObject sprite = GameObject.Instantiate(signImagePrefab, signImageContainer);
|
|
sprite.GetComponent<Image>().sprite = currentSign.image;
|
|
}
|
|
}
|