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; } }
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; }