Files
unity-application/Assets/Common/Scripts/BootScreen.cs
2023-05-12 11:53:17 +00:00

63 lines
1.9 KiB
C#

using System.Collections;
using TMPro;
using UnityEngine;
/// <summary>
/// Authorize and check for available webcam(s)
/// </summary>
public class BootScreen : MonoBehaviour
{
/// <summary>
/// UI Reference to the text object to display an error message
/// </summary>
public TMP_Text errorText;
/// <summary>
/// Reference to the list that holds all user avatars
/// </summary>
public UserAvatarList sprites;
/// <summary>
/// Request authorization and check whether at least 1 webcam is available
/// </summary>
/// <returns>IEnumerator object</returns>
IEnumerator Start()
{
UserList.AVATARS = sprites.avatars;
PersistentDataController.GetInstance().Load();
yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
if (Application.HasUserAuthorization(UserAuthorization.WebCam))
{
if (0 < WebCamTexture.devices.Length)
{
WebCamTexture webcamTexture = new WebCamTexture();
webcamTexture.deviceName = WebCamTexture.devices[0].name;
webcamTexture.Play();
yield return new WaitForSeconds(0.1f); // Wait a little for the webcam to start
if (webcamTexture.isPlaying)
{
webcamTexture.Stop();
SystemController.GetInstance().SwapScene("Common/Scenes/MainMenuScreen");
}
else
{
errorText.text = "Zorg ervoor dat je webcam niet in gebruik is door een andere applicatie!";
}
}
else
{
errorText.text = "Zorg ervoor dat je webcam correct is aangesloten!";
}
}
else
{
errorText.text = "Zorg ervoor dat deze applicatie toegang heeft tot je webcam!";
}
}
}