void Awake() { UIStateManager.stateChanged += OnStateDataChanged; UIStateManager.arStateChanged += OnARStateDataChanged; m_MARSCamera = Camera.main.GetComponent <MARS.MARSCamera>(); #if URP_AVAILABLE m_CameraData = Camera.main.GetComponent <UniversalAdditionalCameraData>(); #endif m_InputActionAsset["Placement Rotate Action"].performed += OnPlacementRotateAction; m_InputActionAsset["Placement Scale Action"].started += OnPlacementScaleActionStarted; m_InputActionAsset["Placement Scale Action"].performed += OnPlacementScaleAction; m_ScaleValues = Enum.GetValues(typeof(ArchitectureScale)); foreach (var obj in InstructionUIList) { var instructionUI = obj as IInstructionUI; instructionUI.Initialize(this); } m_InitialNearClippingPlane = m_MARSCamera.GetComponent <Camera>().nearClipPlane; m_InitialFarClippingPlane = m_MARSCamera.GetComponent <Camera>().farClipPlane; }
void Awake() { EnableMARSSession(true); foreach (var obj in InstructionUIList) { var instructionUI = obj as IARInstructionUI; instructionUI.Initialize(this); } m_DisposeOnDestroy.Add(m_ARScaleEnabledSelector = UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.scaleEnabled))); m_DisposeOnDestroy.Add(m_ARRotateEnabledSelector = UISelectorFactory.createSelector <bool>(ARToolStateContext.current, nameof(IARToolStatePropertiesDataProvider.rotateEnabled))); m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(ARContext.current, nameof(IARModeDataProvider.arEnabled), OnAREnabledChanged)); m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <SetInstructionUIStateAction.InstructionUIState>(ARContext.current, nameof(IARModeDataProvider.instructionUIState), OnInstructionUIStateChanged)); var arModeSelector = UISelectorFactory.createSelector <SetARModeAction.ARMode>(ARContext.current, nameof(IARModeDataProvider.arMode), OnARModeChanged); m_DisposeOnDestroy.Add(arModeSelector); m_DisposeOnDestroy.Add(m_ARPlacementStateDataSelector = UISelectorFactory.createSelector <ARPlacementStateData>(ARContext.current, nameof(IARPlacement <ARPlacementStateData> .placementStateData))); m_DisposeOnDestroy.Add(m_ModelScaleSelector = UISelectorFactory.createSelector <SetModelScaleAction.ArchitectureScale>(ARPlacementContext.current, nameof(IARPlacementDataProvider.modelScale))); m_DisposeOnDestroy.Add(m_RootSelector = UISelectorFactory.createSelector <Transform>(PipelineContext.current, nameof(IPipelineDataProvider.rootNode))); m_DisposeOnDestroy.Add(m_ToolBarEnabledSelector = UISelectorFactory.createSelector <bool>(UIStateContext.current, nameof(IToolBarDataProvider.toolbarsEnabled), null)); m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <bool>(UIStateContext.current, nameof(IUIStateDataProvider.operationCancelled), OnOperationCancelledChanged)); m_DisposeOnDestroy.Add(UISelectorFactory.createSelector <OpenDialogAction.DialogType>(UIStateContext.current, nameof(IDialogDataProvider.activeDialog), OnActiveDialogChanged)); m_MARSCamera = Camera.main.GetComponent <MARS.MARSCamera>(); #if URP_AVAILABLE m_CameraData = Camera.main.GetComponent <UniversalAdditionalCameraData>(); #endif m_InputActionAsset["Placement Rotate Action"].performed += OnPlacementRotateAction; m_InputActionAsset["Placement Scale Action"].started += OnPlacementScaleActionStarted; m_InputActionAsset["Placement Scale Action"].performed += OnPlacementScaleAction; m_ScaleValues = Enum.GetValues(typeof(SetModelScaleAction.ArchitectureScale)); // Force ARMode because the awake can be called on the next frame than UISelector OnARModeChanged(arModeSelector.GetValue()); }