private void OnSDKReady() { if (MenuController.ConfigToLoad) { MainNav.Game = MenuController.ConfigToLoad.Game; } else { MainNav.Game = Game.Duel; } MainNav.Setup(Sdk, false); MainNav.OnMenuShown += OnMenuShown; MainNav.OnMenuHidden += OnMenuHidden; MainNav.OnQuitButton += OnMenuQuit; MainNav.OnRestartButton += OnMenuRestart; // Add the audio Listener Sdk.StereoCamera.gameObject.AddComponent <AkAudioListener>(); // Setup Controllers ControllerPeripheral controller = new ControllerPeripheral(VisionSDK.ControllerName, null, null, container.GetSavedSaberColorID()); controller.UsePositionPrediction = UsePrediction; Sdk.Connections.AddPeripheral(controller); // Input Events Sdk.Input.OnButtonUp += OnButtonUp; }
IEnumerator Start() { #if UNITY_ANDROID && !UNITY_EDITOR MirageAR_ServiceHelper.InitMirageARService(); //Wait the MirageAR Service Connected Succeed if (!MirageAR_ServiceHelper.mMirageARServiceConnected) { //Wait until Android Service Init Complete yield return(new WaitUntil(() => MirageAR_ServiceHelper.mMirageARServiceConnected)); } #elif UNITY_IOS && !UNITY_EDITOR //TODO:The URLScheme callback will later than Unity Init Event,So Wait a While yield return(new WaitForSeconds(0.2f)); #endif if (mIs2DMode) { VisionSDK.Instance.Init(true, mMirageARLogger != null ? mMirageARLogger : null); // Add a controller mControllerPeripheral = new ControllerPeripheral("XCobra-0"); VisionSDK.Instance.Connections.AddPeripheral(mControllerPeripheral); } else { VisionSDK.Instance.Init(false, mMirageARLogger != null ? mMirageARLogger : null); // Init Self Define Devices Setting Init_Setting(); // Enable Mag Correction, it defaults off. VisionSDK.Instance.StereoCamera.UseMagnetometerCorrection = false; // If you want to use prediction for the HMD (Phone). VisionSDK.Instance.Tracking.Hmd.UsePositionPrediction = true; VisionSDK.Instance.Tracking.Hmd.UseRotationPrediction = true; //create controllerPeripheral mControllerPeripheral = new ControllerPeripheral("XCobra-0"); mControllerPeripheral.UsePositionPrediction = true; VisionSDK.Instance.Connections.AddPeripheral(mControllerPeripheral); // Button Home Events Bind mInputListener = MirageAR_InputListener.Instance; if (mInputListener != null) { mInputListener.HomePressDown += MInputListener_HomePressDown; mInputListener.HomePressUp += MInputListener_HomePressUp; } VisionSDK.Instance.Connections.OnPeripheralStateChange += OnPeripheralStateChange; } yield return(null); }
/// <summary> /// OnPeripheralStateChange,Update State of Peripheral /// </summary> /// <param name="sender"></param> /// <param name="eventArguments"></param> private void OnPeripheralStateChange(object sender, PeripheralStateChangeEventArgs eventArguments) { Sdk.Logger.Log("Is " + eventArguments.Peripheral.Name + " Connected? " + eventArguments.Connected); //Connected if (eventArguments.Connected) { // Peripheral Type if (eventArguments.Peripheral is HmdPeripheral) { mHmdController = (HmdPeripheral)eventArguments.Peripheral; //Output the Info of Hmd OutputHmdInfo(mHmdController); } else { if (eventArguments.Peripheral.GetModelName() == MirageAR_DeviceConstants.CONTROLLER_UNIVERSAL_MODELNAME) { controllerType = MirageAR_DeviceConstants.ControllerType.UniversalController; mUniversalController = (ControllerPeripheral)eventArguments.Peripheral; } else if (eventArguments.Peripheral.GetModelName() == MirageAR_DeviceConstants.CONTROLLER_SABER_MODELNAME) { controllerType = MirageAR_DeviceConstants.ControllerType.SaberController; mSaberController = (ControllerPeripheral)eventArguments.Peripheral; } else { Sdk.Logger.Log("Unknow Controller" + mUniversalController.GetDeviceName()); } //Output the Info of Controller OutputControllerInfo(eventArguments.Peripheral); } } else //DisConnected { if (eventArguments.Peripheral is HmdPeripheral) { mHmdController = null; } else { if (eventArguments.Peripheral.GetModelName() == MirageAR_DeviceConstants.CONTROLLER_UNIVERSAL_MODELNAME) { mUniversalController = null; } else if (eventArguments.Peripheral.GetModelName() == MirageAR_DeviceConstants.CONTROLLER_SABER_MODELNAME) { mSaberController = null; } } } }
private void OnSDKReady() { Log.Debug("SDK Ready"); Analytics.LogAction(new ActionAnalytics("ready.sdk")); if (!fadeHandler) { fadeHandler = GetComponent <FadeHandler>(); } if (!fadeHandler) { fadeHandler = gameObject.AddComponent <FadeHandler>(); } MainNavigation.Setup(Sdk, false); fadeHandler.Setup(MainNavigation, Menu.GetComponent <Animator>()); // Add the audio Listener Sdk.StereoCamera.gameObject.AddComponent <AkAudioListener>(); // Setup Controllers if (!ControllerTransform) { ControllerTransform = (new GameObject("ControllerTransform")).transform; } ControllerPeripheral controller = new ControllerPeripheral(VisionSDK.ControllerName, ControllerTransform, null, container.GetSavedSaberColorID()); controller.UsePositionPrediction = UsePrediction; Sdk.Connections.AddPeripheral(controller); ControllerTransform.gameObject.SetActive(false); Sdk.Tracking.OnBeaconStateChange += OnBeaconStateChanged; // Input Events Sdk.Connections.OnPeripheralStateChange += OnPeripheralStateChange; Sdk.Input.OnButtonDown += OnButtonDown; Sdk.Input.OnButtonUp += OnButtonUp; Sdk.Input.OnButtonPress += OnButtonPress; // Make Lenovo one-time call StartCoroutine(MakeLenovoOneTimeCall()); // We are already looking at the beacon if (Application.isEditor || Sdk.Tracking.IsBeaconTracked) { beaconSeenOnce = true; Menu.Setup(); } }
private void OnSDKReady() { // Add the audio Listener Sdk.StereoCamera.gameObject.AddComponent <AkAudioListener>(); // Setup Controllers ControllerPeripheral controller = new ControllerPeripheral(VisionSDK.ControllerName, null, null, container.GetSavedSaberColorID()); controller.UsePositionPrediction = UsePrediction; Sdk.Connections.AddPeripheral(controller); // Input Events Sdk.Input.OnButtonUp += OnButtonUp; }
protected void OnSdkReady() { // no further initialization needed if FTUE is complete if (FtueDataController.IsFtueComplete(FtueType.Intro)) { return; } // adding controller saberPeripheral = new ControllerPeripheral(VisionSDK.ControllerName, ControllerTransform, null, container.GetSavedSaberColorID()); Sdk.Connections.AddPeripheral(saberPeripheral); // adding beacon Sdk.Tracking.OnBeaconStateChange += OnBeaconStateChange; // checking beacon signal if (Sdk.Tracking.IsBeaconTracked) { beaconSeen = true; // playing audio - signal acquired AudioEvent.Play(AudioEventName.Ftue.Computer.SignalAcquired, gameObject); } else { // playing audio - searching for signal AudioEvent.Play(AudioEventName.Ftue.Computer.AcquireSignal, gameObject); } // setting input handler Sdk.Input.OnButtonDown += OnButtonDown; // adding input listeners Sdk.Connections.OnPeripheralStateChange += OnPeripheralConnected; Sdk.Connections.OnPeripheralStateChange += OnPeripheralDisconnected; // adding animation listener HolocronAnimations.OnAnimationComplete += OnHolocronEnterAnimationComplete; // loading animation sequence config StreamingAssetsStorage loader = new StreamingAssetsStorage(Game.ForceVision, null); loader.LoadStreamingAssetsText(AnimationConfigFile, OnConfigLoaded, true); // playing sound AudioEvent.Play(AudioEventName.Ftue.MusicStart, gameObject); }
protected void OnSdkReady() { // no further initialization needed if FTUE is complete if (FtueDataController.IsFtueComplete(FtueType.DarkSide)) { return; } // adding controller saberPeripheral = new ControllerPeripheral( VisionSDK.ControllerName, ControllerTransform, null, container.GetSavedSaberColorID() ); Sdk.Connections.AddPeripheral(saberPeripheral); // adding beacon Sdk.Tracking.OnBeaconStateChange += OnBeaconStateChange; // checking beacon signal if (Sdk.Tracking.IsBeaconTracked) { beaconSeen = true; } else { } // setting input handler Sdk.Input.OnButtonDown += OnButtonDown; // adding input listeners Sdk.Connections.OnPeripheralStateChange += OnPeripheralConnected; Sdk.Connections.OnPeripheralStateChange += OnPeripheralDisconnected; // loading animation sequence config StreamingAssetsStorage loader = new StreamingAssetsStorage(Game.ForceVision, null); loader.LoadStreamingAssetsText(AnimationConfigFile, OnConfigLoaded, true); // playing the menu FTUE animation Menu.GetComponent <Animator>().Play(MenuFtue); }
/// <summary> /// Check the State of the Peripheral /// </summary> private void CheckPeripheralState() { //Check The Cotroller Peripheral State Peripheral controllerPeripheral = Sdk.Connections.GetPeripheral("XCobra-0"); if (controllerPeripheral != null && controllerPeripheral.Connected) { if (controllerPeripheral.GetModelName() == MirageAR_DeviceConstants.CONTROLLER_UNIVERSAL_MODELNAME) { controllerType = MirageAR_DeviceConstants.ControllerType.UniversalController; mUniversalController = (ControllerPeripheral)controllerPeripheral; } else if (controllerPeripheral.GetModelName() == MirageAR_DeviceConstants.CONTROLLER_SABER_MODELNAME) { controllerType = MirageAR_DeviceConstants.ControllerType.SaberController; mSaberController = (ControllerPeripheral)controllerPeripheral; } else { Sdk.Logger.Log("Unknow Controller" + controllerPeripheral.GetDeviceName()); } //Output the Info of Controller OutputControllerInfo(controllerPeripheral); } //Check The Hmd Peripheral State HmdPeripheral hmdPeripheral = (HmdPeripheral)Sdk.Connections.GetPeripheral("XHawk-0"); if (hmdPeripheral != null && hmdPeripheral.Connected) { mHmdController = hmdPeripheral; //Output the Info of Hmd OutputHmdInfo(mHmdController); } }
/// <summary> /// Check the Input of Universal Controller /// </summary> private void CheckUniversalControllerInput(ControllerPeripheral mUniversalController) { // Check Is Connected if (!(mUniversalController.ControllerInput.connectionState == Ximmerse.InputSystem.DeviceConnectionState.Connected)) { return; } #region App Button Events if (mUniversalController.ControllerInput.GetButtonDown((uint)ButtonType.App)) { if (AppPressDown != null) { AppPressDown(); } } if (mUniversalController.ControllerInput.GetButton((uint)ButtonType.App)) { if (AppPress != null) { AppPress(); } } if (mUniversalController.ControllerInput.GetButtonUp((uint)ButtonType.App)) { if (AppPressUp != null) { AppPressUp(); } } #endregion //App Button Events #region Home Button Events if (mUniversalController.ControllerInput.GetButtonDown((uint)ButtonType.Home)) { if (HomePressDown != null) { HomePressDown(); } } if (mUniversalController.ControllerInput.GetButton((uint)ButtonType.Home)) { if (HomePress != null) { HomePress(); } } if (mUniversalController.ControllerInput.GetButtonUp((uint)ButtonType.Home)) { if (HomePressUp != null) { HomePressUp(); } } #endregion //Home Button Events #region Trigger Button Events if (mUniversalController.ControllerInput.GetButtonDown((uint)ButtonType.Trigger)) { if (TriggerPressDown != null) { TriggerPressDown(); } } //Trigger Not Support Axis Value if (mUniversalController.ControllerInput.GetButton((uint)ButtonType.Trigger)) { if (TriggerPress != null) { TriggerPress(); } } if (mUniversalController.ControllerInput.GetButtonUp((uint)ButtonType.Trigger)) { if (TriggerPressUp != null) { TriggerPressUp(); } } #endregion //Trigger Button Events #region Touchpad Button Events if (mUniversalController.ControllerInput.GetButtonDown((uint)ButtonType.Touchpad)) { if (TouchpadPressDown != null) { TouchpadPressDown(); } } if (mUniversalController.ControllerInput.GetButton((uint)ButtonType.Touchpad)) { if (TouchpadPress != null) { TouchpadPress(); } } if (mUniversalController.ControllerInput.GetButtonUp((uint)ButtonType.Touchpad)) { if (TouchpadPressUp != null) { TouchpadPressUp(); } } #endregion //Touchpad Button Events #region Touchpad Gesture Event //Touchpad Touch if (mUniversalController.ControllerInput.GetButton((uint)TouchpadGestureType.TouchpadTouch)) { Vector2 touchPosValue = mUniversalController.ControllerInput.touchPos; if (TouchpadTouch != null) { TouchpadTouch(touchPosValue); } } //Touchpad Swip Gesture if (mUniversalController.ControllerInput.GetButtonUp((uint)TouchpadGestureType.SwipeUp)) { if (TouchpadSwipeUp != null) { TouchpadSwipeUp(); } } if (mUniversalController.ControllerInput.GetButtonUp((uint)TouchpadGestureType.SwipeDown)) { if (TouchpadSwipeDown != null) { TouchpadSwipeDown(); } } if (mUniversalController.ControllerInput.GetButtonUp((uint)TouchpadGestureType.SwipeRight)) { if (TouchpadSwipeRight != null) { TouchpadSwipeRight(); } } if (mUniversalController.ControllerInput.GetButtonUp((uint)TouchpadGestureType.SwipeLeft)) { if (TouchpadSwipeLeft != null) { TouchpadSwipeLeft(); } } //Touchpad Corner Click Gesture if (mUniversalController.ControllerInput.GetButtonDown((uint)TouchpadGestureType.DpadClick)) { if (TouchpadDpadCenter != null) { TouchpadDpadCenter(); } } if (mUniversalController.ControllerInput.GetButtonDown((uint)TouchpadGestureType.DpadUp)) { if (TouchpadDpadUp != null) { TouchpadDpadUp(); } } if (mUniversalController.ControllerInput.GetButtonDown((uint)TouchpadGestureType.DpadDown)) { if (TouchpadDpadDown != null) { TouchpadDpadDown(); } } if (mUniversalController.ControllerInput.GetButtonDown((uint)TouchpadGestureType.DpadRight)) { if (TouchpadDpadRight != null) { TouchpadDpadRight(); } } if (mUniversalController.ControllerInput.GetButtonDown((uint)TouchpadGestureType.DpadLeft)) { if (TouchpadDpadLeft != null) { TouchpadDpadLeft(); } } #endregion //Touchpad Gesture Event }
/// <summary> /// Check the Input of Saber Controller /// </summary> private void CheckSaberControllerInput(ControllerPeripheral mSaberController) { // Check Is Connected if (!(mSaberController.ControllerInput.connectionState == Ximmerse.InputSystem.DeviceConnectionState.Connected)) { return; } #region SaberActivate Button Events if (mSaberController.ControllerInput.GetButtonDown((uint)ButtonType.SaberActivate)) { if (SaberActivatePressDown != null) { SaberActivatePressDown(); } } if (mSaberController.ControllerInput.GetButton((uint)ButtonType.SaberActivate)) { if (SaberActivatePress != null) { SaberActivatePress(); } } if (mSaberController.ControllerInput.GetButtonUp((uint)ButtonType.SaberActivate)) { if (SaberActivatePressUp != null) { SaberActivatePressUp(); } } #endregion //SaberActivate Button Events #region SaberControl Button Events if (mSaberController.ControllerInput.GetButtonDown((uint)ButtonType.SaberControl)) { if (SaberControlPressDown != null) { SaberControlPressDown(); } } if (mSaberController.ControllerInput.GetButton((uint)ButtonType.SaberControl)) { if (SaberControlPress != null) { SaberControlPress(); } } if (mSaberController.ControllerInput.GetButtonUp((uint)ButtonType.SaberControl)) { if (SaberControlPressUp != null) { SaberControlPressUp(); } } #endregion //SaberControl Button Events }
private void Setup() { DontDestroyOnLoad(InSceneContainerSounds); // adding listeners LanguageSelectionEvents.OnLanguageSelected += OnLanguageSelected; LanguageSelectionEvents.OnLanguageSelectionClosed += OnLanguageSelectionClosed; // playing background music AudioEvent.Play(AudioEventName.Ftue.Stereo.BackgroundMusicStart, gameObject, 1.0f); //show language selection if not set already PlayerPrefsStorage prefsStorage = new PlayerPrefsStorage(Game.ForceVision); if (prefsStorage.PrefKeyExists(Localizer.LanguagePrefKey) == true) { LanguageSelection.SetActive(false); TitleScreen.SetActive(true); } else { LanguageSelection.SetActive(true); TitleScreen.SetActive(false); } // getting bluetooth, listening for bluetooth state changes Container.NativeSettings.GetBluetoothState("StereoSetupCanvas"); // getting brightness level, listening brightness level changes Container.NativeSettings.SetBrightness(MaxBrightness); Controller = new ControllerPeripheral(VisionSDK.ControllerName); Sdk.Connections.AddPeripheral(Controller); Sdk.Connections.OnPeripheralStateChange += OnPeripheralStateChange; resizeAlignFTUE.Sdk = Sdk; resizeAlignRTUE.Sdk = Sdk; StereoSetupFtueController ftue = MainCanvas.GetComponentInChildren <StereoSetupFtueController>(true); StereoSetupNonFtueController rtue = MainCanvas.GetComponentInChildren <StereoSetupNonFtueController>(true); ftue.Sdk = Sdk; rtue.Sdk = Sdk; // starting device check timer deviceCheckTime = Time.time + deviceCheckInterval; // adding listeners for title screen related events TitleScreenEvents.OnMenuSelected += OnMenuSelected; #if !RC_BUILD // adding listener for touch down time reached TouchDownTimer.OnTouchDownTimeReached += OnTouchDownTimeReached; #endif QualityController qualityController = new QualityController(Sdk); qualityController.ApplyQuality(); #if UNITY_EDITOR currentVolume = Mathf.Floor(UnityEngine.Random.Range(0, 1f) * 10) / 10f; #else Log.Debug("Call LoadContent from Start"); LoadContent(); currentVolume = container.NativeSettings.GetVolume(); #endif // 3D sound setting for (int i = 0; i < SpatializationToggles.Length; i++) { SpatializationToggles[i].isOn = container.UseSpatialization(); } // If the phone is not supported, profile selection is always on if (!JCSettingsManager.HasDeviceProfile) { ProfileSelectionToggle.isOn = true; ProfileSelectionToggle.interactable = false; } else { // profile selection override setting ProfileSelectionToggle.isOn = ContainerAPI.UseProfileSelection(); } SetPofilesSelectableInFTUEAndRTUE(ProfileSelectionToggle.isOn); #if IS_DEMO_BUILD ContainerAPI.LoadDemoOptions(); // make demo options visible and set UI state DemoOptions.SetActive(true); OptionsSpacer.SetActive(false); AllProgressionUnlockedToggle.isOn = ContainerAPI.AllProgressionUnlocked; GoProModeToggle.isOn = Disney.Vision.Internal.XimmerseTracker.UseGoProCameras; #endif // this controller is common to both ftue and rtue so lets log the OTA version here (new ota data should already be downloaded) string otaVersion = DownloadController.GetManifestVersion()[0]; Analytics.LogAction(new ActionAnalytics(SystemInfo.deviceModel, "StereoSetupStart.ota" + otaVersion + (JCSettingsManager.HasDeviceProfile ? ".supported_device" : ".unsupported_device"), -1, ContainerAPI.UseProfileSelection().ToString() )); SetLanguage(); if (CreditsEndMessage != null) { CreditsEndMessage.SetActive(ContainerAPI.IsMedalUnlocked(MedalType.Mastery)); } // Check what device the app is running on and adjust the UI accordingly var device = Sdk.Settings.CurrentDevice; if (device != null) { switch (device.Name) { case "iPhone X": Scaler.matchWidthOrHeight = 1f; break; } } }
private IEnumerator SetSaberColor(ControllerPeripheral peripheral) { yield return(new WaitForSeconds(2.0f)); peripheral.SetColor(); }