void OnARStateDataChanged(UIARStateData arStateData)
        {
            if (m_CachedAREnabled != arStateData.arEnabled)
            {
                if (arStateData.arEnabled)
                {
                    EnableARMode();
                }
                else
                {
                    DisableARMode();
                }
                m_CachedAREnabled = arStateData.arEnabled;
            }

            if (m_ArMode != arStateData.arMode)
            {
                m_ArMode = arStateData.arMode;
                if (m_ArMode == null)
                {
                    return;
                }

                m_CurrentInstructionUI = null;
                foreach (var obj in InstructionUIList)
                {
                    var instructionUI = obj as IInstructionUI;
                    if (instructionUI.arMode == arStateData.arMode)
                    {
                        m_CurrentInstructionUI = instructionUI;
                        break;
                    }
                }

                if (m_CurrentInstructionUI == null)
                {
                    Debug.LogError("AR Instruction UI is null");
                    return;
                }
                m_CurrentInstructionUI.Restart();
            }

            if (m_CachedInstructionUI != arStateData.instructionUIState)
            {
                m_CachedInstructionUI = arStateData.instructionUIState;
                if (m_CachedInstructionUI == InstructionUIState.Init)
                {
                    StartCoroutine(StartInstrucitonAR());
                }
            }

            if (m_CachedPlacementGesturesEnabled != arStateData.placementGesturesEnabled)
            {
                m_CachedPlacementGesturesEnabled = arStateData.placementGesturesEnabled;
            }
        }
Exemple #2
0
 public UIARStateData(bool arEnabled, InstructionUIState instructionUIState, IInstructionUI currentInstructionUI, int numProxyInstances,
                      int instructionUIStep, bool placementGesturesEnabled, ARToolStateData arToolStateData, ARPlacementStateData placementStateData, ARMode arMode)
 {
     this.arEnabled            = arEnabled;
     this.instructionUIState   = instructionUIState;
     this.currentInstructionUI = currentInstructionUI;
     this.numProxyInstances    = numProxyInstances;
     this.instructionUIStep    = instructionUIStep;
     this.arToolStateData      = arToolStateData;
     this.placementStateData   = placementStateData;
     this.arMode = arMode;
 }