// 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();
        }
    }
示例#2
0
        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");
            }
        }
示例#3
0
    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();
            }
        }
    }