void Start() { Application.targetFrameRate = 60; _controllerOffsetPosition = _positionOffsetRightHand; // Get a reference to the HandheldControllerBridge Monobehaviour _controllerBridge = handheldControllerBridge.GetComponent <HandheldControllerBridge>(); // OPTIONAL: How many data packages to retain. Set to 0 if you only want to have access to the most recent data package received from the controller. // _controllerBridge.SetDataStorageSize( 10 ); // OPTIONAL: Override the deafult calibration time here. // _controllerBridge.SetCalibrationDelayTime( 4f ); // OPTIONAL: override Service and Characteristic UUIDs here: // _controllerBridge.SetBLEService( "0000fe55-0000-1000-8000-00805f9b34fb" ); // _controllerBridge.SetBLECharacteristic( "00000001-1000-1000-8000-00805f9b34fb" ); ///////////////////////// // Used for calculating the achieved FPS _frameTimeLast = Time.time; _frameTimeNext = Time.time + 1f; // Configure the Canvas UIs _controllerBridgeCanvas = GameObject.Find("Canvas"); _autoConnectBtn = _controllerBridgeCanvas.transform.Find("AutoConnectButton").GetComponent <Button>(); _autoConnectBtn.onClick.AddListener(AutoConnectBtnClickedHandler); _autoConnectBtn.enabled = true; _fpsCanvas = GameObject.Find("CanvasFPS"); _autoConnectStatusLabel = _fpsCanvas.transform.Find("FPSLabel").GetComponent <Text>(); _autoConnectStatusLabel.text = "FPS: Default"; _statusLabel = _controllerBridgeCanvas.transform.Find("StatusMsg").GetComponent <Text>(); _statusLabel.text = _statusMsgStart; _scanBtn = _controllerBridgeCanvas.transform.Find("ScanButton").GetComponent <Button>(); _scanBtn.onClick.AddListener(ScanBtnClickedHandler); _scanBtn.enabled = true; _dropDownGO = _controllerBridgeCanvas.transform.Find("Dropdown").gameObject; _devicesDropdown = _dropDownGO.GetComponent <Dropdown>(); _devicesDropdown.captionText.text = _dropdownCaptionStart; _devicesDropdown.onValueChanged.AddListener(DevicesDropDownSelectedHandler); _devicesDropdown.enabled = false; _connectBtn = _controllerBridgeCanvas.transform.Find("ConnectButton").GetComponent <Button>(); _connectBtn.onClick.AddListener(ConnectBtnClickedHandler); _connectBtn.enabled = false; _disconnectBtn = _controllerBridgeCanvas.transform.Find("DisconnectButton").GetComponent <Button>(); _disconnectBtn.onClick.AddListener(DisconnectBtnClickedHandler); _disconnectBtn.enabled = true; _handheldControllerCanvas = GameObject.Find("CanvasResults"); _handheldControllerValues = _handheldControllerCanvas.GetComponentsInChildren <Text>(); int i; for (i = 0; i < 22; i++) { _handheldControllerValues[i].text = string.Format("default: {0}", i); } _balloonScripts = new List <Balloon>(); for (i = 0; i < balloonCount; i++) { GameObject tBalloon = Instantiate(Resources.Load <GameObject>("Balloon")); Balloon tBalloonScript = tBalloon.GetComponent <Balloon>(); tBalloonScript.InitializeValues(xPosMin, xPosMax, yPosMin, yPosMax, zPosMin, zPosMax, yVelMin, yVelMax); StartCoroutine(tBalloonScript.ResetBalloon(false)); tBalloonScript.CustomizeInitialAppearance(balloonScale); _balloonScripts.Add(tBalloonScript); } _controllerDisplayLaser = controllerDisplay.transform.Find("beam").gameObject; // Subscribe to the Up/Down button Actions _controllerBridge.TouchBtnDown += TouchBtnDownHandler; _controllerBridge.TouchBtnUp += TouchBtnUpHandler; _controllerBridge.MainBtnDown += MainBtnDownHandler; _controllerBridge.MainBtnUp += MainBtnUpHandler; _controllerBridge.AppBtnDown += AppBtnDownHandler; _controllerBridge.AppBtnUp += AppBtnUpHandler; _controllerBridge.AppBtnUp += ChangeCanvasDisplayHandler; _controllerBridge.HomeBtnDown += HomeBtnDownHandler; _controllerBridge.HomeBtnUp += HomeBtnUpHandler; _controllerBridge.VolPlusBtnDown += VolPlusBtnDownHandler; _controllerBridge.VolPlusBtnUp += VolPlusBtnUpHandler; _controllerBridge.VolMinusBtnDown += VolMinusBtnDownHandler; _controllerBridge.VolMinusBtnUp += VolMinusBtnUpHandler; // Subscribe to each BLE state change on _controllerBridge _controllerBridge.BLEActive += BLEActiveHandler; _controllerBridge.BLEInactive += BLEInactiveHandler; _controllerBridge.BLEConnecting += BLEConnectingHandler; _controllerBridge.BLEConnectionComplete += BLEConnectionCompleteHandler; _controllerBridge.BLEScanning += BLEScanningHandler; _controllerBridge.BLEScanComplete += BLEScanCompleteHandler; // Respond to Controller Calibration state changes _controllerBridge.DelayedCalibrationBegan += ControllerCalibrationBeganHandler; _controllerBridge.DelayedCalibrationCancelled += ControllerCalibrationCancelledHandler; _controllerBridge.CalibrationComplete += ControllerCalibrationCompleteHandler; }