MDM_RaycastEvent
Namespace: MDPackage.Modifiers
Simple raycast behaviour with customizable events.
Read more here (Online documentation slide)
Public Methods
public void RayEvent_UpdateRaycastState()
Public Fields and Properties
public bool updateRayPerFrame = true;
public bool usesPhysics = false;
public float rayLength = 5.0f;
public bool pointRay = true;
public float sphericalRadius = 0.2f;
public bool localRay = true;
public Vector3 globalRayDir = new Vector3(0, -1, 0);
public LayerMask rayLayer = ~0;
public bool raycastWithSpecificTag = false;
public string raycastTag = "";
public UnityEvent eventOnRaycast;
public UnityEvent eventOnRaycastExit;
public event Action eventActionOnRaycast;
public event Action eventActionOnRaycastExit;
public RaycastHit[] RayEventHits { get; }
public Ray RayEventRay { get; }
Examples
The following paragraphs contain RaycastEvent modifier used in a practical example. Subscription to RaycastEvent events.
using UnityEngine;
using MDPackage.Modifiers;
public class SampleScript : MonoBehaviour
{
public MDM_RaycastEvent targetRayEvent;
private void OnEnable()
{
if (targetRayEvent)
targetRayEvent.eventActionOnRaycast += IsCasting;
}
private void OnDisable()
{
if (targetRayEvent)
targetRayEvent.eventActionOnRaycast -= IsCasting;
}
private void Update()
{
if (targetRayEvent && targetRayEvent.RayEvent_IsRaycasting())
Debug.Log("Is casting in update!");
}
private void IsCasting()
{
Debug.Log("Is casting event!");
}
}