61 lines
1.6 KiB
C#
61 lines
1.6 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using Zenject;
|
|
using UltraFace;
|
|
using TMPro;
|
|
|
|
public class SettingsUI : MonoBehaviour
|
|
{
|
|
[Inject] private Visualizer _visualizer;
|
|
[Inject] private DetectionSetup _detectionSetup;
|
|
|
|
[SerializeField] private bool _initOnStart;
|
|
|
|
[SerializeField] private TMP_Text _faceCounterText;
|
|
[SerializeField] private TMP_Text _minFaceHeight;
|
|
[SerializeField] private TMP_Text _maxFaceHeight;
|
|
[SerializeField] private Button _acceptButton;
|
|
|
|
private void Start()
|
|
{
|
|
if(_initOnStart)
|
|
{
|
|
OnAcceptButtonClick(0.134f);
|
|
return;
|
|
}
|
|
_acceptButton.onClick.AddListener(() => OnAcceptButtonClick());
|
|
}
|
|
|
|
private void OnAcceptButtonClick(float min = -1f)
|
|
{
|
|
if(min == -1f) _detectionSetup.SetMinFaceHeight(float.Parse(_maxFaceHeight.text));
|
|
else _detectionSetup.SetMinFaceHeight(min);
|
|
|
|
_visualizer.Init();
|
|
FindAnyObjectByType<MirrorAnimationHandler>().Init();
|
|
|
|
Destroy(gameObject);
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
var faceCounter = _visualizer.faceCounter;
|
|
var minFaceHeight = _visualizer.minFaceHeight;
|
|
var maxFaceHeight = _visualizer.maxFaceHeight;
|
|
|
|
_faceCounterText.text = faceCounter.ToString();
|
|
_faceCounterText.color = faceCounter != 0 ? Color.green : Color.red;
|
|
|
|
_minFaceHeight.text = minFaceHeight.ToString("0.00");
|
|
_maxFaceHeight.text = maxFaceHeight.ToString("0.00");
|
|
}
|
|
|
|
|
|
private void OnDestroy()
|
|
{
|
|
_acceptButton.onClick.RemoveAllListeners();
|
|
}
|
|
}
|