Initial Commit
This commit is contained in:
parent
53eb92e9af
commit
270ab7d11f
15341 changed files with 700234 additions and 0 deletions
|
@ -0,0 +1,101 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace UnityEngine.EventSystems
|
||||
{
|
||||
/// <summary>
|
||||
/// Base class for any RayCaster.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// A Raycaster is responsible for raycasting against scene elements to determine if the cursor is over them. Default Raycasters include PhysicsRaycaster, Physics2DRaycaster, GraphicRaycaster.
|
||||
/// Custom raycasters can be added by extending this class.
|
||||
/// </remarks>
|
||||
public abstract class BaseRaycaster : UIBehaviour
|
||||
{
|
||||
private BaseRaycaster m_RootRaycaster;
|
||||
|
||||
/// <summary>
|
||||
/// Raycast against the scene.
|
||||
/// </summary>
|
||||
/// <param name="eventData">Current event data.</param>
|
||||
/// <param name="resultAppendList">List of hit Objects.</param>
|
||||
public abstract void Raycast(PointerEventData eventData, List<RaycastResult> resultAppendList);
|
||||
|
||||
/// <summary>
|
||||
/// The camera that will generate rays for this raycaster.
|
||||
/// </summary>
|
||||
public abstract Camera eventCamera { get; }
|
||||
|
||||
[Obsolete("Please use sortOrderPriority and renderOrderPriority", false)]
|
||||
public virtual int priority
|
||||
{
|
||||
get { return 0; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Priority of the raycaster based upon sort order.
|
||||
/// </summary>
|
||||
public virtual int sortOrderPriority
|
||||
{
|
||||
get { return int.MinValue; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Priority of the raycaster based upon render order.
|
||||
/// </summary>
|
||||
public virtual int renderOrderPriority
|
||||
{
|
||||
get { return int.MinValue; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raycaster on root canvas
|
||||
/// </summary>
|
||||
public BaseRaycaster rootRaycaster
|
||||
{
|
||||
get
|
||||
{
|
||||
if (m_RootRaycaster == null)
|
||||
{
|
||||
var baseRaycasters = GetComponentsInParent<BaseRaycaster>();
|
||||
if (baseRaycasters.Length != 0)
|
||||
m_RootRaycaster = baseRaycasters[baseRaycasters.Length - 1];
|
||||
}
|
||||
|
||||
return m_RootRaycaster;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Name: " + gameObject + "\n" +
|
||||
"eventCamera: " + eventCamera + "\n" +
|
||||
"sortOrderPriority: " + sortOrderPriority + "\n" +
|
||||
"renderOrderPriority: " + renderOrderPriority;
|
||||
}
|
||||
|
||||
protected override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
RaycasterManager.AddRaycaster(this);
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
{
|
||||
RaycasterManager.RemoveRaycasters(this);
|
||||
base.OnDisable();
|
||||
}
|
||||
|
||||
protected override void OnCanvasHierarchyChanged()
|
||||
{
|
||||
base.OnCanvasHierarchyChanged();
|
||||
m_RootRaycaster = null;
|
||||
}
|
||||
|
||||
protected override void OnTransformParentChanged()
|
||||
{
|
||||
base.OnTransformParentChanged();
|
||||
m_RootRaycaster = null;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue