scripts
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace UnityEngine.EventSystems
|
||||
{
|
||||
// Token: 0x02000031 RID: 49
|
||||
[AddComponentMenu("Event/Physics Raycaster")]
|
||||
[RequireComponent(typeof(Camera))]
|
||||
public class PhysicsRaycaster : BaseRaycaster
|
||||
{
|
||||
// Token: 0x06000148 RID: 328 RVA: 0x00006174 File Offset: 0x00004574
|
||||
protected PhysicsRaycaster()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17000055 RID: 85
|
||||
// (get) Token: 0x06000149 RID: 329 RVA: 0x0000618C File Offset: 0x0000458C
|
||||
public override Camera eventCamera
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.m_EventCamera == null)
|
||||
{
|
||||
this.m_EventCamera = base.GetComponent<Camera>();
|
||||
}
|
||||
return this.m_EventCamera ?? Camera.main;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000056 RID: 86
|
||||
// (get) Token: 0x0600014A RID: 330 RVA: 0x000061D0 File Offset: 0x000045D0
|
||||
public virtual int depth
|
||||
{
|
||||
get
|
||||
{
|
||||
return (!(this.eventCamera != null)) ? 16777215 : ((int)this.eventCamera.depth);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000057 RID: 87
|
||||
// (get) Token: 0x0600014B RID: 331 RVA: 0x0000620C File Offset: 0x0000460C
|
||||
public int finalEventMask
|
||||
{
|
||||
get
|
||||
{
|
||||
return (!(this.eventCamera != null)) ? (-1) : (this.eventCamera.cullingMask & this.m_EventMask);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000058 RID: 88
|
||||
// (get) Token: 0x0600014C RID: 332 RVA: 0x00006250 File Offset: 0x00004650
|
||||
// (set) Token: 0x0600014D RID: 333 RVA: 0x0000626B File Offset: 0x0000466B
|
||||
public LayerMask eventMask
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_EventMask;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_EventMask = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0600014E RID: 334 RVA: 0x00006278 File Offset: 0x00004678
|
||||
protected void ComputeRayAndDistance(PointerEventData eventData, out Ray ray, out float distanceToClipPlane)
|
||||
{
|
||||
ray = this.eventCamera.ScreenPointToRay(eventData.position);
|
||||
float z = ray.direction.z;
|
||||
distanceToClipPlane = ((!Mathf.Approximately(0f, z)) ? Mathf.Abs((this.eventCamera.farClipPlane - this.eventCamera.nearClipPlane) / z) : float.PositiveInfinity);
|
||||
}
|
||||
|
||||
// Token: 0x0600014F RID: 335 RVA: 0x000062EC File Offset: 0x000046EC
|
||||
public override void Raycast(PointerEventData eventData, List<RaycastResult> resultAppendList)
|
||||
{
|
||||
if (!(this.eventCamera == null) && this.eventCamera.pixelRect.Contains(eventData.position))
|
||||
{
|
||||
Ray ray;
|
||||
float num;
|
||||
this.ComputeRayAndDistance(eventData, out ray, out num);
|
||||
if (ReflectionMethodsCache.Singleton.raycast3DAll != null)
|
||||
{
|
||||
RaycastHit[] array = ReflectionMethodsCache.Singleton.raycast3DAll(ray, num, this.finalEventMask);
|
||||
if (array.Length > 1)
|
||||
{
|
||||
Array.Sort<RaycastHit>(array, (RaycastHit r1, RaycastHit r2) => r1.distance.CompareTo(r2.distance));
|
||||
}
|
||||
if (array.Length != 0)
|
||||
{
|
||||
int i = 0;
|
||||
int num2 = array.Length;
|
||||
while (i < num2)
|
||||
{
|
||||
RaycastResult raycastResult = new RaycastResult
|
||||
{
|
||||
gameObject = array[i].collider.gameObject,
|
||||
module = this,
|
||||
distance = array[i].distance,
|
||||
worldPosition = array[i].point,
|
||||
worldNormal = array[i].normal,
|
||||
screenPosition = eventData.position,
|
||||
index = (float)resultAppendList.Count,
|
||||
sortingLayer = 0,
|
||||
sortingOrder = 0
|
||||
};
|
||||
resultAppendList.Add(raycastResult);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x040000A1 RID: 161
|
||||
protected const int kNoEventMaskSet = -1;
|
||||
|
||||
// Token: 0x040000A2 RID: 162
|
||||
protected Camera m_EventCamera;
|
||||
|
||||
// Token: 0x040000A3 RID: 163
|
||||
[SerializeField]
|
||||
protected LayerMask m_EventMask = -1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user