TaiZhouCangChu_VRanime/Assets/HTC.UnityPlugin/Pointer3D/RaycastMethod/CanvasRaycastTarget.cs

40 lines
1.2 KiB
C#

//========= Copyright 2016-2023, HTC Corporation. All rights reserved. ===========
using UnityEngine;
using UnityEngine.EventSystems;
namespace HTC.UnityPlugin.Pointer3D
{
public interface ICanvasRaycastTarget
{
Canvas canvas { get; }
bool enabled { get; }
bool ignoreReversedGraphics { get; }
}
[AddComponentMenu("VIU/UI Pointer/Canvas Raycast Target", 6)]
[RequireComponent(typeof(Canvas))]
[DisallowMultipleComponent]
public class CanvasRaycastTarget : UIBehaviour, ICanvasRaycastTarget
{
private Canvas m_canvas;
[SerializeField]
private bool m_IgnoreReversedGraphics = true;
public virtual Canvas canvas { get { return m_canvas ?? (m_canvas = GetComponent<Canvas>()); } }
public bool ignoreReversedGraphics { get { return m_IgnoreReversedGraphics; } set { m_IgnoreReversedGraphics = value; } }
protected override void OnEnable()
{
base.OnEnable();
CanvasRaycastMethod.AddTarget(this);
}
protected override void OnDisable()
{
base.OnDisable();
CanvasRaycastMethod.RemoveTarget(this);
}
}
}