private void Awake() { m_window = GetComponent <RuntimeCameraWindow>(); m_window.IOCContainer.RegisterFallback <IRTEGraphicsLayer>(this); m_window.CameraResized += OnCameraResized; m_graphics = IOC.Resolve <IRTEGraphics>(); PrepareGraphicsLayerCamera(); }
private void Awake() { m_window = GetComponent <RuntimeCameraWindow>(); m_window.IOCContainer.RegisterFallback <IRTEGraphicsLayer>(this); m_window.CameraResized += OnCameraResized; m_graphics = IOC.Resolve <IRTEGraphics>(); if (m_window.Index >= m_window.Editor.CameraLayerSettings.MaxGraphicsLayers) { Debug.LogError("m_editorWindow.Index >= m_editorWindow.Editor.CameraLayerSettings.MaxGraphicsLayers"); } PrepareGraphicsLayerCamera(); }
protected virtual void BuildUp(GameObject editor) { GameObject ui = new GameObject("UI"); ui.transform.SetParent(editor.transform); RenderPipelineInfo.ForceUseRenderTextures = false; Canvas canvas = ui.AddComponent <Canvas>(); if (IsVR) { canvas.renderMode = RenderMode.WorldSpace; canvas.worldCamera = Camera.main; } else { canvas.renderMode = RenderMode.ScreenSpaceOverlay; } canvas.sortingOrder = short.MinValue; editor.AddComponent <RTEGraphics>(); GameObject scene = new GameObject("SceneWindow"); scene.transform.SetParent(ui.transform, false); RuntimeCameraWindow sceneView = scene.AddComponent <RuntimeCameraWindow>(); sceneView.IsPointerOver = true; sceneView.WindowType = RuntimeWindowType.Scene; if (Camera.main == null) { GameObject camera = new GameObject(); camera.name = "RTE SceneView Camera"; sceneView.Camera = camera.AddComponent <Camera>(); } else { sceneView.Camera = Camera.main; } if (RenderPipelineInfo.Type == RPType.Standard) { scene.AddComponent <RTEGraphicsLayer>(); } EventSystem eventSystem = FindObjectOfType <EventSystem>(); if (eventSystem == null) { eventSystem = editor.AddComponent <EventSystem>(); if (IsVR) { // } else { editor.AddComponent <StandaloneInputModule>(); } } RectTransform rectTransform = sceneView.GetComponent <RectTransform>(); if (rectTransform != null) { RectTransform parentTransform = rectTransform.parent as RectTransform; if (parentTransform != null) { rectTransform.anchorMin = new Vector2(0, 0); rectTransform.anchorMax = new Vector2(1, 1); // rectTransform.pivot = new Vector2(0.5f, 0.5f); rectTransform.pivot = new Vector2(0.0f, 0.0f); rectTransform.offsetMax = new Vector2(0, 0); rectTransform.offsetMin = new Vector2(0, 0); } } m_uiRaycaster = ui.AddComponent <RTEUIRaycaster>(); m_eventSystem = eventSystem; }