mirror of
https://udrimavric.com/MAVRIC/Stratasys-450mc-VR.git
synced 2025-01-27 17:56:37 -05:00
49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
using UnityEngine.XR.Interaction.Toolkit;
|
|
|
|
namespace UnityEngine.XR.Content.Interaction.Analytics
|
|
{
|
|
/// <summary>
|
|
/// Class that connects the Socket Interactors station scene objects with their respective analytics events.
|
|
/// </summary>
|
|
[AddComponentMenu("")]
|
|
[DisallowMultipleComponent]
|
|
class XrcSocketInteractorsStationAnalytics : MonoBehaviour
|
|
{
|
|
[Header("Socket Simple Object Substation")]
|
|
[SerializeField]
|
|
XRSocketInteractor m_SimpleSocket;
|
|
|
|
[Header("Perler Machine")]
|
|
[SerializeField]
|
|
XRSocketInteractor m_BatterySlotSocket;
|
|
|
|
[SerializeField]
|
|
XRSocketInteractor[] m_InfinityPegSockets;
|
|
|
|
[SerializeField]
|
|
Transform m_GridCenter;
|
|
|
|
void Start()
|
|
{
|
|
XrcAnalyticsUtils.Register(m_SimpleSocket, new ConnectSocketSimpleObject(), new DisconnectSocketSimpleObject());
|
|
|
|
XrcAnalyticsUtils.Register(m_BatterySlotSocket, new ConnectPerlerMachineBattery());
|
|
|
|
var grabPerlerBeadParameter = new GrabPerlerBead();
|
|
foreach (var socket in m_InfinityPegSockets)
|
|
{
|
|
foreach (var interactable in socket.interactablesSelected)
|
|
{
|
|
XrcAnalyticsUtils.Register(interactable as XRBaseInteractable, grabPerlerBeadParameter);
|
|
}
|
|
|
|
socket.selectEntered.AddListener(args => XrcAnalyticsUtils.Register(args.interactableObject as XRBaseInteractable, grabPerlerBeadParameter));
|
|
}
|
|
|
|
var connectPerlerBeadParameter = new ConnectPerlerBead();
|
|
foreach (var gridSocket in m_GridCenter.GetComponentsInChildren<XRSocketInteractor>())
|
|
XrcAnalyticsUtils.Register(gridSocket, connectPerlerBeadParameter);
|
|
}
|
|
}
|
|
}
|