You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.0 KiB
33 lines
1.0 KiB
3 years ago
|
//========= Copyright 2016-2018, HTC Corporation. All rights reserved. ===========
|
||
|
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.EventSystems;
|
||
|
|
||
|
namespace HTC.UnityPlugin.Pointer3D
|
||
|
{
|
||
|
[RequireComponent(typeof(Pointer3DRaycaster))]
|
||
|
public abstract class BaseRaycastMethod : MonoBehaviour, IRaycastMethod
|
||
|
{
|
||
|
private Pointer3DRaycaster m_raycaster;
|
||
|
public Pointer3DRaycaster raycaster { get { return m_raycaster; } }
|
||
|
|
||
|
protected virtual void Start()
|
||
|
{
|
||
|
m_raycaster = GetComponent<Pointer3DRaycaster>();
|
||
|
if (m_raycaster != null) { m_raycaster.AddRaycastMethod(this); }
|
||
|
}
|
||
|
|
||
|
protected virtual void OnEnable() { }
|
||
|
|
||
|
protected virtual void OnDisable() { }
|
||
|
|
||
|
protected virtual void OnDestroy()
|
||
|
{
|
||
|
if (m_raycaster != null) { raycaster.RemoveRaycastMethod(this); }
|
||
|
m_raycaster = null;
|
||
|
}
|
||
|
|
||
|
public abstract void Raycast(Ray ray, float distance, List<RaycastResult> raycastResults);
|
||
|
}
|
||
|
}
|