// --------------------------------------------------------------------------------------------------------------------
//
// Copyright (c) VRMADA, All rights reserved.
//
// --------------------------------------------------------------------------------------------------------------------
using UltimateXR.Core.Components;
using UltimateXR.UI.UnityInputModule.Controls;
using UnityEngine;
using UnityEngine.EventSystems;
namespace UltimateXR.UI.UnityInputModule.Utils
{
///
/// Base class to simplify interacting with 3D button objects by programming 2D UI elements.
/// A 2D Unity UI Canvas is placed on top of the 3D buttons. The Canvas will contain invisible
/// UI components by using instead of images.
/// The components will get the user input and through child implementations of
/// the 3D objects will be "pushed", "rotated" creating 3D behaviour using 2D logic.
///
[RequireComponent(typeof(UxrControlInput))]
public class UxrButton3D : UxrComponent