Exemplo n.º 1
0
        /// <summary>
        /// Initializes component data and starts MLInput.
        /// </summary>
        void Awake()
        {
            _instance = this;

            _controllerConnectionHandler = GetComponent <MLControllerConnectionHandlerBehavior>();

            _controllerConnectionHandler.OnControllerConnected    += HandleOnControllerChanged;
            _controllerConnectionHandler.OnControllerDisconnected += HandleOnControllerChanged;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initialize variables, callbacks and check null references.
        /// </summary>
        void Start()
        {
            _controllerConnectionHandler = GetComponent <MLControllerConnectionHandlerBehavior>();

            if (!_controllerModel)
            {
                Debug.LogError("Error: ControllerVisualizer._controllerModel is not set, disabling script.");
                enabled = false;
                return;
            }
            if (!_trigger)
            {
                Debug.LogError("Error: ControllerVisualizer._trigger is not set, disabling script.");
                enabled = false;
                return;
            }
            if (!_touchpad)
            {
                Debug.LogError("Error: ControllerVisualizer._touchpad is not set, disabling script.");
                enabled = false;
                return;
            }
            if (!_homeButton)
            {
                Debug.LogError("Error: ControllerVisualizer._homeButton is not set, disabling script.");
                enabled = false;
                return;
            }
            if (!_bumperButton)
            {
                Debug.LogError("Error: ControllerVisualizer._bumperButton is not set, disabling script.");
                enabled = false;
                return;
            }
            if (!_touchIndicatorTransform)
            {
                Debug.LogError("Error: ControllerVisualizer._touchIndicatorTransform is not set, disabling script.");
                enabled = false;
                return;
            }

            SetVisibility(_controllerConnectionHandler.IsControllerValid());

            #if PLATFORM_LUMIN
            MLInput.OnControllerButtonUp   += HandleOnButtonUp;
            MLInput.OnControllerButtonDown += HandleOnButtonDown;
            #endif

            _triggerMaterial      = FindMaterial(_trigger);
            _touchpadMaterial     = FindMaterial(_touchpad);
            _homeButtonMaterial   = FindMaterial(_homeButton);
            _bumperButtonMaterial = FindMaterial(_bumperButton);

            // Calculate the radius of the touchpad's mesh
            Mesh mesh = _touchpad.GetComponent <MeshFilter>().mesh;
            _touchpadRadius = Vector3.Scale(mesh.bounds.extents, _touchpad.transform.lossyScale).x;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Set Up
        /// </summary>
        void Start()
        {
            _controllerConnectionHandler = GetComponent <MLControllerConnectionHandlerBehavior>();

            #if PLATFORM_LUMIN
            MLInput.OnTriggerDown += HandleTriggerDown;
            MLInput.OnTriggerUp   += HandleTriggerUp;
            #endif
        }
Exemplo n.º 4
0
        /// <summary>
        /// Initialize variables, callbacks and check null references.
        /// </summary>
        void Start()
        {
            _controllerConnectionHandler = GetComponent <MLControllerConnectionHandlerBehavior>();

            _camera = Camera.main;

            #if PLATFORM_LUMIN
            MLInput.OnControllerButtonUp += HandleOnButtonUp;
            #endif
        }
Exemplo n.º 5
0
 /// <summary>
 /// Unregisters from touchpad events.
 /// </summary>
 void OnDestroy()
 {
     if (_controllerConnectionHandler != null)
     {
         _controllerConnectionHandler      = null;
         _touchpadEvents.TouchpadPressed  -= OnTouchpadPressed;
         _touchpadEvents.TouchpadReleased -= OnTouchpadRelease;
         _touchpadPressedOnObject          = false;
     }
 }
Exemplo n.º 6
0
    /// <summary>
    /// Initializes the _cube GameObject and _controller object
    /// Captures the Cube's original rotation quaternion in _originalOrientation
    /// Starts receiving user input from the Control and sets up event handlers for input
    /// </summary>
    // Start is called before the first frame update
    void Start()
    {
        //_cube = GameObject.Find("Cube");
        // _originalOrientation = _cube.transform.rotation;

        /*
         * MLInput.Start();
         * MLInput.OnControllerButtonDown += OnButtonDown;
         * MLInput.OnControllerButtonUp += OnButtonUp;
         */
        _controllerConnectionHandler = GetComponent <MLControllerConnectionHandlerBehavior>();
    }
Exemplo n.º 7
0
        /// <summary>
        /// Unregisters controller input when controller leaves the trigger area.
        /// </summary>
        /// <param name="other">Collider of the Controller</param>
        void OnTriggerExit(Collider other)
        {
            MLControllerConnectionHandlerBehavior controllerConnectionHandler = other.GetComponent <MLControllerConnectionHandlerBehavior>();

            if (_controllerConnectionHandler == controllerConnectionHandler)
            {
                _controllerConnectionHandler      = null;
                _touchpadEvents.TouchpadPressed  -= OnTouchpadPressed;
                _touchpadEvents.TouchpadReleased -= OnTouchpadRelease;
                _touchpadPressedOnObject          = false;
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Registers for controller input only when a controller enters the trigger area.
        /// </summary>
        /// <param name="other">Collider of the Controller</param>
        void OnTriggerEnter(Collider other)
        {
            MLControllerConnectionHandlerBehavior controllerConnectionHandler = other.GetComponent <MLControllerConnectionHandlerBehavior>();

            if (controllerConnectionHandler == null)
            {
                return;
            }

            _controllerConnectionHandler = controllerConnectionHandler;
            // Setting being pressed to 'true' here will call the OnTouchpadPressed event before we subscribe to it, forcing the user to both tap and release on this object to destroy it.
            _touchpadEvents.pressed           = true;
            _touchpadEvents.TouchpadPressed  += OnTouchpadPressed;
            _touchpadEvents.TouchpadReleased += OnTouchpadRelease;
        }
Exemplo n.º 9
0
 // Start is called before the first frame update
 void Start()
 {
     _controllerConnectionHandler = GameObject.FindObjectOfType <MLControllerConnectionHandlerBehavior>();
 }
        /// <summary>
        /// Initializes component data, starts MLInput, validates parameters, initializes indicator states.
        /// </summary>
        void Awake()
        {
            if (_leftButtonHighlight == null)
            {
                Debug.LogError("Error: MobileAppControllerVisualizer._leftButtonHighlight is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_rightButtonHighlight == null)
            {
                Debug.LogError("Error: MobileAppControllerVisualizer._rightButtonHighlight is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_homeTapIndicator == null)
            {
                Debug.LogError("Error: MobileAppControllerVisualizer._homeTapIndicator is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_touch1Indicator == null)
            {
                Debug.LogError("Error: MobileAppControllerVisualizer._touch1Indicator is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_touch2Indicator == null)
            {
                Debug.LogError("Error: MobileAppControllerVisualizer._touch2Indicator is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_modelRenderer == null)
            {
                Debug.LogError("Error: MobileAppControllerVisualizer._modelRenderer is not set, disabling script.");
                enabled = false;
                return;
            }

            _leftButtonHighlight.SetActive(false);
            _rightButtonHighlight.SetActive(false);
            _homeTapIndicator.SetActive(false);
            _touch1Indicator.SetActive(false);
            _touch2Indicator.SetActive(false);

            _origColor = _modelRenderer.material.color;

            _controllerConnectionHandler = GetComponent <MLControllerConnectionHandlerBehavior>();

            #if PLATFORM_LUMIN
            MLInput.OnControllerButtonDown += HandleOnButtonDown;
            MLInput.OnControllerButtonUp   += HandleOnButtonUp;
            MLInput.OnTriggerDown          += HandleOnTriggerDown;
            MLInput.OnTriggerUp            += HandleOnTriggerUp;
            #endif
        }