/// <summary> /// Assigns the new colliding object if it qualifies for focus. /// </summary> private void SetCollidingObject(Collider col) { if (!collidingObject && col.GetComponent <MidiVRInteraction>()) { prevCollidingObject = collidingObject; collidingObject = col.GetComponent <MidiVRInteraction>(); } }
/// <summary> /// Event fired whenever an object collider stops crossing the controller collider. /// </summary> public void OnTriggerExit(Collider other) { //Care only if the collider being exited is the current colliding object if (collidingObject && collidingObject.gameObject == other.gameObject) { //Stop interacting with the object if needed if (Controller.GetHairTrigger()) { collidingObject.StopInteract(this); } //Restore the original shader if applicable if (shaderReplaced) { if (collidingObject.GetComponent <MeshRenderer>()) { collidingObject.GetComponent <MeshRenderer>().material.shader = originalShader; } } prevCollidingObject = collidingObject; collidingObject = null; } }