1
0
forked from cgvr/DeltaVR

deltavr multiplayer 2.0

This commit is contained in:
Toomas Tamm
2023-05-08 15:56:10 +03:00
parent 978809a002
commit 07b9b9e2f4
10937 changed files with 2968397 additions and 1521012 deletions

View File

@@ -0,0 +1,67 @@
using System;
using UnityEngine.UI;
namespace UnityEngine.XR.Content.Walkthrough
{
/// <summary>
/// Trigger that, when active, waits for a UI button to be pressed
/// </summary>
internal class ButtonPressTrigger : WalkthroughTrigger
{
#pragma warning disable 649
[SerializeField]
[Tooltip("The UI button that when pressed, will allow this trigger to pass.")]
Button m_ButtonToPress;
[SerializeField]
[Tooltip("Allow pressing of the button switch the step of the tutorial")]
bool m_SwitchContext = true;
#pragma warning restore 649
bool m_Triggered = false;
void Start()
{
if (m_ButtonToPress == null)
return;
m_ButtonToPress.onClick.RemoveListener(ButtonPressHandler);
m_ButtonToPress.onClick.AddListener(ButtonPressHandler);
}
public override bool ResetTrigger()
{
m_Triggered = false;
if (m_ButtonToPress == null)
return false;
m_ButtonToPress.onClick.RemoveListener(ButtonPressHandler);
m_ButtonToPress.onClick.AddListener(ButtonPressHandler);
return true;
}
public override bool Check()
{
return m_Triggered;
}
void ButtonPressHandler()
{
// Attempt to switch to this step if this button is not part of the current step
if (m_SwitchContext)
{
var parent = GetComponentInParent<WalkthroughStep>();
var walkthrough = GetComponentInParent<Walkthrough>();
if (parent != null && walkthrough != null)
{
var steps = walkthrough.steps;
var stepIndex = Array.IndexOf(steps, parent);
if (stepIndex != walkthrough.currentStep)
walkthrough.SkipToStep(stepIndex);
}
}
m_Triggered = true;
}
}
}