UxrDependentGrabbable Class

Component that allows an object be grabbed only if another object is being grabbed. For instance, it can be added to a grenade pin to make sure the pin is never grabbed unless the grenade is being grabbed too. Otherwise the pin could be removed by mistake when trying to grab the grenade.

Inheritance Hierarchy

System.Object
  Object
    Component
      Behaviour
        MonoBehaviour
          UltimateXR.Core.Components.UxrComponent
            UltimateXR.Core.Components.UxrComponent(UxrDependentGrabbable)
              UltimateXR.Core.Components.Composite.UxrGrabbableObjectComponent(UxrDependentGrabbable)
                UltimateXR.Manipulation.Helpers.UxrDependentGrabbable
Namespace: UltimateXR.Manipulation.Helpers
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0

Syntax

C#

public class UxrDependentGrabbable : UxrGrabbableObjectComponent<UxrDependentGrabbable>


The UxrDependentGrabbable type exposes the following members.

Constructors

NameDescription
Public methodUxrDependentGrabbable

Properties

NameDescription
Public propertyDependentFrom Gets or sets the grabbable object the component depends on.
Public propertyOnlyOnce Whether to stop toggling the enabled state once the dependent object was grabbed. For instance, a grenade pin should remain grabbable once it has been removed from the grenade, no matter if the grenade is being grabbed or not at that point.

Methods

NameDescription
Protected methodOnObjectGrabbed Called whenever the object was grabbed. (Overrides UxrGrabbableObjectComponent<T>.OnObjectGrabbed(UxrManipulationEventArgs).)
Protected methodStart Initializes the grabbable object state. (Overrides UxrComponent.Start().)

Extension Methods

NameDescription
Public Extension MethodCheckSetEnabled Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.)
Public Extension MethodGetOrAddComponent<T> Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.)
Public Extension MethodGetPathUnderScene Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.)
Public Extension MethodGetSceneUid Gets an unique identifier string for the given component. (Defined by ComponentExt.)
Public Extension MethodGetUniqueScenePath Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.)
Public Extension MethodLoopCoroutine Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.)
Public Extension MethodSafeGetComponentInParent<T> Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.)
Public Extension MethodShowInInspector(Boolean)Overloaded.
Controls whether to show the current object in the inspector. (Defined by ObjectExt.)
Public Extension MethodShowInInspector(Boolean, Boolean)Overloaded.
Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.)
Public Extension MethodThrowIfNull Throws an exception if the object is null. (Defined by ObjectExt.)

See Also

Reference

UltimateXR.Manipulation.Helpers Namespace