12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- //======= Copyright (c) Valve Corporation, All rights reserved. ===============
- //
- // Purpose: Makes the hand act as an input module for Unity's event system
- //
- //=============================================================================
- using UnityEngine;
- using System.Collections;
- using UnityEngine.EventSystems;
- namespace Valve.VR.InteractionSystem
- {
- //-------------------------------------------------------------------------
- public class InputModule : BaseInputModule
- {
- private GameObject submitObject;
- //-------------------------------------------------
- private static InputModule _instance;
- public static InputModule instance
- {
- get
- {
- if ( _instance == null )
- _instance = GameObject.FindObjectOfType<InputModule>();
- return _instance;
- }
- }
- //-------------------------------------------------
- public override bool ShouldActivateModule()
- {
- if ( !base.ShouldActivateModule() )
- return false;
- return submitObject != null;
- }
- //-------------------------------------------------
- public void HoverBegin( GameObject gameObject )
- {
- PointerEventData pointerEventData = new PointerEventData( eventSystem );
- ExecuteEvents.Execute( gameObject, pointerEventData, ExecuteEvents.pointerEnterHandler );
- }
- //-------------------------------------------------
- public void HoverEnd( GameObject gameObject )
- {
- PointerEventData pointerEventData = new PointerEventData( eventSystem );
- pointerEventData.selectedObject = null;
- ExecuteEvents.Execute( gameObject, pointerEventData, ExecuteEvents.pointerExitHandler );
- }
- //-------------------------------------------------
- public void Submit( GameObject gameObject )
- {
- submitObject = gameObject;
- }
- //-------------------------------------------------
- public override void Process()
- {
- if ( submitObject )
- {
- BaseEventData data = GetBaseEventData();
- data.selectedObject = submitObject;
- ExecuteEvents.Execute( submitObject, data, ExecuteEvents.submitHandler );
- submitObject = null;
- }
- }
- }
- }
|