Class BaseCursor
Object that represents a cursor in 3D space.
Implements
IEventSystemHandler
Assembly: cs.temp.dll.dll
public class BaseCursor : MonoBehaviour, IMixedRealityCursor, IMixedRealityFocusChangedHandler, IMixedRealitySourceStateHandler, IMixedRealityPointerHandler, IEventSystemHandler
Fields
Declaration
protected Transform PrimaryCursorVisual
Field Value
Type |
Description |
Transform |
|
Declaration
public List<uint> SourceDownIds
Field Value
Declaration
protected GameObject TargetedObject
Field Value
Type |
Description |
GameObject |
|
Declaration
protected Vector3 targetPosition
Field Value
Declaration
protected Quaternion targetRotation
Field Value
Type |
Description |
Quaternion |
|
Declaration
protected Vector3 targetScale
Field Value
Properties
CursorContext
Declaration
public CursorContextEnum CursorContext { get; }
Property Value
Declaration
public CursorStateEnum CursorState { get; }
Property Value
The maximum distance the cursor can be with nothing hit
Declaration
public float DefaultCursorDistance { get; set; }
Property Value
Declaration
public GameObject GameObjectReference { get; }
Property Value
The active instance of the input system.
Declaration
protected IMixedRealityInputSystem InputSystem { get; }
Property Value
Declaration
public bool IsPointerDown { get; }
Property Value
Checks whether the associated pointer is null, and if the pointer is a UnityEngine.Object it also checks whether it has been destroyed.
Declaration
protected bool IsPointerValid { get; }
Property Value
Declaration
protected bool IsSourceDetected { get; }
Property Value
Is the cursor currently visible?
Declaration
public bool IsVisible { get; }
Property Value
Declaration
public virtual Vector3 LocalScale { get; }
Property Value
Blend value for surface normal to user facing lerp.
Declaration
public float LookRotationBlend { get; set; }
Property Value
Declaration
public virtual IMixedRealityPointer Pointer { get; set; }
Property Value
Declaration
public virtual Vector3 Position { get; }
Property Value
Blend value for surface normal to user facing lerp.
Declaration
public float PositionLerpTime { get; set; }
Property Value
Declaration
public virtual Quaternion Rotation { get; }
Property Value
Type |
Description |
Quaternion |
|
Blend value for surface normal to user facing lerp.
Declaration
public float RotationLerpTime { get; set; }
Property Value
Blend value for surface normal to user facing lerp.
Declaration
public float ScaleLerpTime { get; set; }
Property Value
Declaration
public bool SetVisibilityOnSourceDetected { get; set; }
Property Value
Declaration
public float SurfaceCursorDistance { get; }
Property Value
When lerping, use unscaled time. This is useful for games that have a pause mechanism or otherwise adjust the game timescale.
Declaration
public bool UseUnscaledTime { get; set; }
Property Value
Declaration
public uint VisibleSourcesCount { get; set; }
Property Value
Methods
CheckCursorContext()
Virtual function for checking cursor context changes.
Declaration
public virtual CursorContextEnum CheckCursorContext()
Returns
Virtual function for checking state changes.
Declaration
public virtual CursorStateEnum CheckCursorState()
Returns
Utility method to destroy cursor dependencies (e.g. event subscriptions) in the system
explicitly in the middle update loop. This is a "replacement" of Unity OnDestroy.
Relying on Unity OnDestroy may cause event handler subscription to
become invalid at the point of destroying.
Declaration
public virtual void Destroy()
Declaration
protected void LerpToTargetTransform()
Focus event that is raised before the focus is actually changed.
Declaration
public virtual void OnBeforeFocusChange(FocusEventData eventData)
Parameters
OnCursorContextChange(CursorContextEnum)
Change the cursor context state to the new context. Override in cursor implementations.
Declaration
public virtual void OnCursorContextChange(CursorContextEnum context)
Parameters
Change the cursor state to the new state. Override in cursor implementations.
Declaration
public virtual void OnCursorStateChange(CursorStateEnum state)
Parameters
Declaration
protected virtual void OnDisable()
Declaration
protected virtual void OnEnable()
Focus event that is raised when the focused object is changed.
Declaration
public virtual void OnFocusChanged(FocusEventData eventData)
Parameters
Disable input and set to contextual to override input
Declaration
public virtual void OnInputDisabled()
Enable input and set to none to reset cursor
Declaration
public virtual void OnInputEnabled()
When a pointer clicked event is raised, this method is used to pass along the event data to the input handler.
Declaration
public virtual void OnPointerClicked(MixedRealityPointerEventData eventData)
Parameters
When a pointer down event is raised, this method is used to pass along the event data to the input handler.
Declaration
public virtual void OnPointerDown(MixedRealityPointerEventData eventData)
Parameters
Called every frame a pointer is down. Can be used to implement drag-like behaviors.
Declaration
public virtual void OnPointerDragged(MixedRealityPointerEventData eventData)
Parameters
When a pointer up event is raised, this method is used to pass along the event data to the input handler.
Declaration
public virtual void OnPointerUp(MixedRealityPointerEventData eventData)
Parameters
Raised when a source is detected.
Declaration
public virtual void OnSourceDetected(SourceStateEventData eventData)
Parameters
Raised when a source is lost.
Declaration
public virtual void OnSourceLost(SourceStateEventData eventData)
Parameters
Register to events from the managers the cursor needs.
Declaration
protected virtual void RegisterManagers()
Declaration
public virtual void SetVisibility(bool visible)
Parameters
Type |
Name |
Description |
Boolean |
visible |
|
Declaration
protected void SnapToTargetTransform()
Declaration
protected virtual void Start()
Unregister from events from the managers the cursor needs.
Declaration
protected virtual void UnregisterManagers()
Update the cursor's transform
Declaration
protected virtual void UpdateCursorTransform()
Implements
IEventSystemHandler