/// <summary> /// Execute collision event /// </summary> public void ExecuteCollision(CollisionProxy colA, CollisionProxy colB) { if (CollisionEvent != null) { CollisionEvent.Invoke(colA, colB); } }
/// <summary> /// Raycast single result of collision proxy /// </summary> /// <param name="startPoint">start point of ray</param> /// <param name="endPoint">end point of ray</param> /// <param name="hitPoint">hit point of result</param> /// <param name="hitObject">hit object of result</param> /// <param name="mask">detect filter mask</param> /// <returns>has hit boolean</returns> public abstract bool Raycast(Vector3 startPoint, Vector3 endPoint, out Vector3 hitPoint, out CollisionProxy hitObject, int mask = -1);
/// <summary> /// Remove collision object /// </summary> /// <param name="colProxy">collision proxy object</param> public abstract void RemoveCollision(CollisionProxy colProxy);
/// <summary> /// Add collision object /// </summary> /// <param name="colProxy">collision proxy object</param> /// <param name="layer">layer of collision</param> /// <param name="mask">mask of collision</param> public abstract void AddCollision(CollisionProxy colProxy, int layer = 1, int mask = -1);