// Sturfee event called when camera alignment completes private void OnLocalizationComplete(Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus status) { if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.Done) { // Creating or joining a game SturfeeEventManager.Instance.OnSessionReady -= OnSessionReady; SturfeeEventManager.Instance.OnLocalizationComplete -= OnLocalizationComplete; ScreenMessageController.Instance.SetText("Camera Alignment Complete", 3); if (_createdGame) { GameNetworkManager.name = MatchNameInputField.text; GameNetworkManager.matchMaker.CreateMatch(MatchNameInputField.text, GameNetworkManager.matchSize, true, "", "", "", 0, 0, GameNetworkManager.OnMatchCreate); RoomName.text = "Room: " + MatchNameInputField.text + "\nHost"; } else // Joining Game { RemoveJoinMatchButtons(); MatchButtonList.transform.parent.gameObject.SetActive(false); GameNetworkManager.matchMaker.JoinMatch(GameNetworkManager.matches[_matchNumToJoin].networkId, "", "", "", 0, 0, GameNetworkManager.OnMatchJoined); RoomName.text = "Room: " + GameNetworkManager.matches [_matchNumToJoin].name + "\nClient"; } CameraInstructionsPanel.SetActive(false); AlignmentPanel.SetActive(false); InGameMenu.SetActive(true); return; } else if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.IndoorsError) { ScreenMessageController.Instance.SetText("Indoors Error. Please try again outside.", 3); CameraInstructionsPanel.SetActive(false); AlignmentPanel.SetActive(false); Reset(); } else if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.Error) { ScreenMessageController.Instance.SetText("Alignment Failed", 3); CameraInstructionsPanel.SetActive(false); AlignmentPanel.SetActive(false); Reset(); } }
private void OnLocalizationComplete(Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus status) { QuitButton.SetActive(true); if (status == Core.Constants.Enums.AlignmentStatus.Done) { Debug.Log("Localization Complete"); ToastManager.Instance.ShowToast("Tap anywhere to place planes"); ScanAnimation.SetActive(false); } else if (status == Core.Constants.Enums.AlignmentStatus.IndoorsError) { ToastManager.Instance.ShowToastTimed("Localization Failed: Indoors Error"); } else if (status == Core.Constants.Enums.AlignmentStatus.Error) { ToastManager.Instance.ShowToastTimed("Localization failed"); } }
private void OnLocalizationComplete(Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus status) { ScanAnimation.SetActive(false); if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.Done) { ScreenMessageController.Instance.SetText("Camera Alignment Complete", 3); GameManager.Instance.InitializeGame(); } else { if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.OutOfCoverage) { ScreenMessageController.Instance.SetText("Localization not available at this location"); } else if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.IndoorsError) { ScreenMessageController.Instance.SetText("Localization Failed: Indoors Error\nResetting Game"); _midAlignmentError = true; } else if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.RequestError) { ScreenMessageController.Instance.SetText("Localization Failed: Request Error\nResetting Game"); _midAlignmentError = true; } else if (status == Sturfee.Unity.XR.Core.Constants.Enums.AlignmentStatus.Error) { ScreenMessageController.Instance.SetText("Localization failed"); } // Current SDK requires reset when these errors occur. Plan to fix this problem in future release. if (_midAlignmentError) { GameManager.Instance.ResetGame(3); } else { ResetToStartScreen(); } } }