37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
|
|
using UnityEngine;
|
||
|
|
using UnityEngine.UIElements;
|
||
|
|
|
||
|
|
namespace UI
|
||
|
|
{
|
||
|
|
public class LoungeController : MonoBehaviour
|
||
|
|
{
|
||
|
|
private Toggle _readyHost;
|
||
|
|
private Toggle _readyGuest;
|
||
|
|
private Button _btnStart;
|
||
|
|
|
||
|
|
private void OnEnable()
|
||
|
|
{
|
||
|
|
var root = GetComponent<UIDocument>().rootVisualElement;
|
||
|
|
|
||
|
|
_readyHost = root.Q<Toggle>("ready-host");
|
||
|
|
_readyGuest = root.Q<Toggle>("ready-guest");
|
||
|
|
_btnStart = root.Q<Button>("btn-start");
|
||
|
|
|
||
|
|
_readyHost?.RegisterValueChangedCallback(evt => UpdateStartButton());
|
||
|
|
_readyGuest?.RegisterValueChangedCallback(evt => UpdateStartButton());
|
||
|
|
|
||
|
|
_btnStart?.RegisterCallback<ClickEvent>(evt => UIManager.Instance.ShowScreen("HUD"));
|
||
|
|
root.Q<Button>("btn-back")?.RegisterCallback<ClickEvent>(evt => UIManager.Instance.GoBack());
|
||
|
|
|
||
|
|
UpdateStartButton();
|
||
|
|
}
|
||
|
|
|
||
|
|
private void UpdateStartButton()
|
||
|
|
{
|
||
|
|
if (_btnStart == null) return;
|
||
|
|
bool bothReady = (_readyHost != null && _readyHost.value) && (_readyGuest != null && _readyGuest.value);
|
||
|
|
_btnStart.SetEnabled(bothReady);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|