11using System.Collections;
12using System.Collections.Generic;
17 #region IInteractionBehaviour
19 public static class IInteractionBehaviourExtensions {
21 public static bool ShouldIgnoreHover(
this IInteractionBehaviour intObj, InteractionController controller) {
22 switch (intObj.ignoreHoverMode) {
24 case IgnoreHoverMode.Left:
return !controller.isTracked || controller.isLeft;
25 case IgnoreHoverMode.Right:
return !controller.isTracked || controller.isRight;
36 public static class Vector3Extensions {
38 public static Vector3 ConstrainToSegment(
this Vector3 position, Vector3 a, Vector3 b) {
40 return Vector3.Lerp(a, b, Vector3.Dot(position - a, ba) / ba.sqrMagnitude);
43 public static float LargestComp(
this Vector3 v) {
44 return Mathf.Max(Mathf.Max(v.x, v.y), v.z);
47 public static int LargestCompIdx(
this Vector3 v) {
57 public static Vector3 Abs(
this Vector3 v) {
58 return new Vector3(Mathf.Abs(v.x), Mathf.Abs(v.y), Mathf.Abs(v.z));
IgnoreHoverMode
Specified on a per-object basis to allow Interaction objects to ignore hover for the left hand,...