private void OnWindowDestoryed(Transform windowTransform)
        {
            RuntimeWindow window = windowTransform.GetComponent <RuntimeWindow>();

            if (window != null && window.WindowType == RuntimeWindowType.Scene)
            {
                m_sceneComponents.Remove(windowTransform);
            }
        }
        private void Start()
        {
            #if USE_RTE
            m_editor = IOC.Resolve <IRTE>();
            m_window = GetComponentInParent <RuntimeWindow>();
            #endif

            m_timelineControl = GetComponent <TimelineControl>();
        }
Пример #3
0
        public override void ActivateWindow(RuntimeWindow window)
        {
            base.ActivateWindow(window);

            if (window != null)
            {
                m_wm.ActivateWindow(window.transform);
            }
        }
Пример #4
0
 private void DestroyToolbar()
 {
     Transform[] scenes = m_wm.GetWindows(RuntimeWindowType.Scene.ToString());
     for (int i = 0; i < scenes.Length; ++i)
     {
         RuntimeWindow window = scenes[i].GetComponent <RuntimeWindow>();
         DestroyToolbar(scenes[i], window);
     }
 }
        private void OnWindowCreated(Transform window)
        {
            RuntimeWindow runtimeWindow = window.GetComponentInChildren <RuntimeWindow>(true);

            if (runtimeWindow.WindowType == RuntimeWindowType.Hierarchy)
            {
                runtimeWindow.gameObject.AddComponent <HierarchyViewOverrideExample>();
            }
        }
        protected virtual void Awake()
        {
            m_localization  = IOC.Resolve <ILocalization>();
            m_hierarchyView = GetComponent <HierarchyView>();
            if (!m_hierarchyView.TreeViewPrefab)
            {
                Debug.LogError("Set TreeViewPrefab field");
                return;
            }

            m_project = IOC.Resolve <IProject>();
            m_editor  = IOC.Resolve <IRuntimeEditor>();

            m_filterInput = m_hierarchyView.FilterInput;
            if (m_filterInput != null)
            {
                m_filterInput.onValueChanged.AddListener(OnFiltering);
            }

            Transform parent = m_hierarchyView.TreePanel != null ? m_hierarchyView.TreePanel : transform;

            m_treeView                   = Instantiate(m_hierarchyView.TreeViewPrefab, parent).GetComponent <VirtualizingTreeView>();
            m_treeView.name              = "HierarchyTreeView";
            m_treeView.CanSelectAll      = false;
            m_treeView.SelectOnPointerUp = true;

            RectTransform rt = (RectTransform)m_treeView.transform;

            rt.Stretch();

            m_treeView.ItemDataBinding  += OnItemDataBinding;
            m_treeView.SelectionChanged += OnSelectionChanged;
            m_treeView.ItemsRemoving    += OnItemRemoving;
            m_treeView.ItemsRemoved     += OnItemsRemoved;
            m_treeView.ItemExpanding    += OnItemExpanding;
            m_treeView.ItemBeginDrag    += OnItemBeginDrag;
            m_treeView.ItemBeginDrop    += OnItemBeginDrop;
            m_treeView.ItemDrag         += OnItemDrag;
            m_treeView.ItemDrop         += OnItemDrop;
            m_treeView.ItemEndDrag      += OnItemEndDrag;
            m_treeView.ItemDragEnter    += OnItemDragEnter;
            m_treeView.ItemDragExit     += OnItemDragExit;
            m_treeView.ItemDoubleClick  += OnItemDoubleClicked;
            m_treeView.ItemClick        += OnItemClick;
            m_treeView.ItemBeginEdit    += OnItemBeginEdit;
            m_treeView.ItemEndEdit      += OnItemEndEdit;
            m_treeView.PointerEnter     += OnTreeViewPointerEnter;
            m_treeView.PointerExit      += OnTreeViewPointerExit;

            m_window = GetComponent <RuntimeWindow>();

            m_window.DragEnterEvent += OnDragEnter;
            m_window.DragLeaveEvent += OnDragLeave;
            m_window.DragEvent      += OnDrag;
            m_window.DropEvent      += OnDrop;
        }
        private void OnAfterLayout(IWindowManager wm)
        {
            Transform window = wm.GetWindow(RuntimeWindowType.Hierarchy.ToString());

            if (window != null)
            {
                RuntimeWindow runtimeWindow = window.GetComponentInChildren <RuntimeWindow>(true);
                runtimeWindow.gameObject.AddComponent <HierarchyViewOverrideExample>();
            }
        }
Пример #8
0
        private void OnWindowCreated(Transform windowTransform)
        {
            RuntimeWindow window = windowTransform.GetComponent <RuntimeWindow>();

            if (window != null && window.WindowType == RuntimeWindowType.Scene)
            {
                SubscribeSelectionChangingEvent(false, window);
                SubscribeSelectionChangingEvent(true, window);
            }
        }
Пример #9
0
        private void OnWindowCreated(Transform obj)
        {
            RuntimeWindow window = obj.GetComponent <RuntimeWindow>();

            if (window != null && window.WindowType == RuntimeWindowType.Scene)
            {
                IRuntimeSceneComponent scene = window.IOCContainer.Resolve <IRuntimeSceneComponent>();
                scene.IsBoxSelectionEnabled = false;
            }
        }
Пример #10
0
        protected override void OnActiveWindowChanged(RuntimeWindow deactivatedWindow)
        {
            if (Editor.ActiveWindow != null && Editor.ActiveWindow.WindowType == RuntimeWindowType.Scene)
            {
                Window      = Editor.ActiveWindow;
                SceneCamera = Window.Camera;
            }

            base.OnActiveWindowChanged(deactivatedWindow);
        }
Пример #11
0
        private void Awake()
        {
            m_editor = IOC.Resolve <IRTE>();
            m_editor.ActiveWindowChanged += OnActiveWindowChanged;

            m_window = GetComponent <RuntimeWindow>();
            if (m_window == null)
            {
                Debug.LogError("Unable to find window");
            }
        }
        protected virtual void Activate()
        {
            foreach (Transform windowTranform in m_windowToHandle.Keys)
            {
                RuntimeWindow window = windowTranform.GetComponentInChildren <RuntimeWindow>();
                IRuntimeSelectionComponent selectionComponent = window.IOCContainer.Resolve <IRuntimeSelectionComponent>();
                selectionComponent.CustomHandle = m_windowToHandle[windowTranform];
            }

            SetCurrentTool(RuntimeTool.Custom);
        }
Пример #13
0
        protected virtual void SetCullingMask(RuntimeWindow window)
        {
            window.Camera.cullingMask     = (1 << LayerMask.NameToLayer("UI")) | (1 << m_editor.CameraLayerSettings.AllScenesLayer) | (1 << m_editor.CameraLayerSettings.ExtraLayer);
            window.Camera.backgroundColor = Color.white;
            window.Camera.clearFlags      = CameraClearFlags.SolidColor;

            if (m_sceneComponent != null && m_sceneComponent.SceneGizmo != null)
            {
                m_sceneComponent.SceneGizmo.TextColor = Color.black;
            }
        }
Пример #14
0
        protected virtual void Start()
        {
            m_project = IOC.Resolve <IProject>();

            m_window = GetComponent <RuntimeWindow>();

            m_window.DragEnterEvent += OnDragEnter;
            m_window.DragLeaveEvent += OnDragLeave;
            m_window.DragEvent      += OnDrag;
            m_window.DropEvent      += OnDrop;
        }
        protected virtual T CreateHandle(RuntimeWindow scene)
        {
            GameObject go = new GameObject(typeof(T).Name);

            go.transform.SetParent(transform, false);
            go.gameObject.SetActive(false);

            T handle = go.AddComponent <T>();

            handle.Window = scene;
            return(handle);
        }
Пример #16
0
        protected virtual void ResetCullingMask(RuntimeWindow window)
        {
            CameraLayerSettings settings = m_editor.CameraLayerSettings;

            window.Camera.cullingMask = ~((1 << m_editor.CameraLayerSettings.ExtraLayer) | ((1 << settings.MaxGraphicsLayers) - 1) << settings.RuntimeGraphicsLayer);
            window.Camera.clearFlags  = CameraClearFlags.Skybox;

            if (m_sceneComponent != null && m_sceneComponent.SceneGizmo != null)
            {
                m_sceneComponent.SceneGizmo.TextColor = Color.white;
            }
        }
 private void Editor_ActiveWindowChanged(RuntimeWindow deactivatedWindow)
 {
     if (m_component != null)
     {
         if (m_isActive)
         {
             SceneComponent.UpdateCursorState(false, false, false);
             m_pan    = false;
             m_rotate = false;
         }
         m_isActive = m_component.IsWindowActive;
     }
 }
        private void OnActiveWindowChanged(RuntimeWindow deactivatedWindow)
        {
            if (m_selectionComponent != null)
            {
                m_selectionComponent.SelectionChanging -= OnSelectionChanging;
            }

            if (m_editor.ActiveWindow != null && m_editor.ActiveWindow.WindowType == RuntimeWindowType.Scene)
            {
                m_selectionComponent = m_editor.ActiveWindow.IOCContainer.Resolve <IRuntimeSelectionComponent>();
                m_selectionComponent.SelectionChanging += OnSelectionChanging;
            }
        }
Пример #19
0
        protected virtual void OnWindowRegistered(RuntimeWindow window)
        {
            if (window.WindowType == RuntimeWindowType.Scene)
            {
                List <Component> gizmos = m_gizmos != null?m_gizmos.ToList() : new List <Component>();

                TryCreateGizmos(GetComponentDescriptor(), gizmos, window);
                if (gizmos.Count > 0)
                {
                    m_gizmos = gizmos.ToArray();
                }
            }
        }
Пример #20
0
 private void SetCanSelect(bool value)
 {
     Transform[] windows = m_wm.GetWindows(RuntimeWindowType.Scene.ToString());
     for (int i = 0; i < windows.Length; ++i)
     {
         RuntimeWindow window = windows[i].GetComponent <RuntimeWindow>();
         IRuntimeSelectionComponent selectionComponent = window.IOCContainer.Resolve <IRuntimeSelectionComponent>();
         if (selectionComponent != null)
         {
             selectionComponent.CanSelect    = value;
             selectionComponent.CanSelectAll = value;
         }
     }
 }
Пример #21
0
        private void LateUpdate()
        {
            if (m_activeTerrain == null)
            {
                gameObject.SetActive(false);
                return;
            }


            Transform terrainTransform = m_activeTerrain.transform;

            if (terrainTransform.position != gameObject.transform.position ||
                terrainTransform.rotation != gameObject.transform.rotation ||
                terrainTransform.localScale != gameObject.transform.localScale)
            {
                gameObject.transform.position   = terrainTransform.position;
                gameObject.transform.rotation   = terrainTransform.rotation;
                gameObject.transform.localScale = terrainTransform.localScale;
            }

            if (m_editor.ActiveWindow != null)
            {
                RuntimeWindow window = m_editor.ActiveWindow;
                if (window.WindowType == RuntimeWindowType.Scene)
                {
                    RaycastHit hit;
                    if (Physics.Raycast(window.Pointer, out hit))
                    {
                        TryHitTerrainHandle(hit);
                    }
                }
            }

            if (m_state.Interpolation != m_prevInterpolation)
            {
                m_prevInterpolation = m_state.Interpolation;
                InitLerpGrid();
            }

            if (m_isDragging)
            {
                if (m_targetHandles != null && m_targetHandles.Length == 1)
                {
                    for (int i = 0; i < m_targetHandles.Length; ++i)
                    {
                        UpdateTerrain(m_targetHandles[i]);
                    }
                }
            }
        }
Пример #22
0
 private void DestroyToolbar(Transform windowTransform, RuntimeWindow window)
 {
     if (window != null && window.WindowType == RuntimeWindowType.Scene)
     {
         if (m_sceneViewToolbarPrefab != null)
         {
             ProBuilderToolbar toolbar = windowTransform.GetComponentInChildren <ProBuilderToolbar>();
             if (toolbar != null)
             {
                 Destroy(toolbar.gameObject);
             }
         }
     }
 }
 protected override void OnEditorExist()
 {
     base.OnEditorExist();
     m_wm = IOC.Resolve <IWindowManager>();
     Subscribe();
     if (m_wm == null)
     {
         RuntimeWindow scene = IOC.Resolve <IRTE>().GetWindow(RuntimeWindowType.Scene);
         if (scene != null)
         {
             CreateHandle(scene);
         }
     }
 }
Пример #24
0
 private void CreateToolbar(Transform windowTransform, RuntimeWindow window)
 {
     if (m_useSceneViewToolbar)
     {
         if (window != null && window.WindowType == RuntimeWindowType.Scene)
         {
             if (m_sceneViewToolbarPrefab != null)
             {
                 RectTransform rt = (RectTransform)Instantiate(m_sceneViewToolbarPrefab, windowTransform, false).transform;
                 rt.Stretch();
             }
         }
     }
 }
Пример #25
0
        private void LateUpdate()
        {
            if (!IsEnabled)
            {
                return;
            }

            Transform terrainTransform = Terrain.transform;

            if (terrainTransform.position != gameObject.transform.position ||
                terrainTransform.rotation != gameObject.transform.rotation ||
                terrainTransform.localScale != gameObject.transform.localScale)
            {
                gameObject.transform.position   = terrainTransform.position;
                gameObject.transform.rotation   = terrainTransform.rotation;
                gameObject.transform.localScale = terrainTransform.localScale;
            }

            if (m_editor.ActiveWindow != null)
            {
                RuntimeWindow window = m_editor.ActiveWindow;
                if (window.WindowType == RuntimeWindowType.Scene)
                {
                    RaycastHit hit;
                    if (Physics.Raycast(window.Pointer, out hit))
                    {
                        TryHitTerrainHandle(hit);
                    }
                }
            }

            if (m_state.Interpolation != m_prevInterpolation)
            {
                m_prevInterpolation = m_state.Interpolation;
                InitLerpGrid();
            }

            if (m_isDragging)
            {
                if (m_selectedHandles != null && m_selectedHandles.Length == 1)
                {
                    for (int i = 0; i < m_selectedHandles.Length; ++i)
                    {
                        int        hid    = m_selectedHandles[i];
                        GameObject handle = m_keyToHandle[hid];
                        UpdateTerrain(hid, handle.transform.localPosition, GetInterpolatedHeights, SetTerrainHeights);
                    }
                }
            }
        }
        private void OnWindowCreated(Transform windowTransform)
        {
            RuntimeWindow window = windowTransform.GetComponent <RuntimeWindow>();

            if (window != null && window.WindowType == RuntimeWindowType.Scene)
            {
                IRuntimeSceneComponent sceneComponent = window.IOCContainer.Resolve <IRuntimeSceneComponent>();
                if (sceneComponent != null)
                {
                    m_sceneComponents.Add(windowTransform, sceneComponent);
                    ApplySettings(sceneComponent);
                }
            }
        }
Пример #27
0
        private void OnRegionDepthChanged(Region region, int depth)
        {
            RuntimeWindow[] windows = region.GetComponentsInChildren <RuntimeWindow>(true);
            for (int i = 0; i < windows.Length; ++i)
            {
                RuntimeWindow window = windows[i];
                window.SetCameraDepth(10 + depth * 5);

                window.Depth = (region.IsModal() ? 2048 + depth : depth) * 5;
                if (window.GetComponentsInChildren <RuntimeWindow>().Length > 1)
                {
                    window.Depth -= 1;
                }
            }
        }
Пример #28
0
        protected virtual void Awake()
        {
            m_window = GetComponent <RuntimeWindow>();

            m_editor = IOC.Resolve <IRTE>();
            m_editor.Object.Started             += OnObjectStarted;
            m_editor.Selection.SelectionChanged += OnSelectionChanged;

            m_sceneComponent = m_window.IOCContainer.Resolve <IRuntimeSceneComponent>();

            foreach (ExposeToEditor obj in m_editor.Object.Get(false))
            {
                TryCreateWireframe(obj);
            }
        }
Пример #29
0
 private void OnActiveWindowChanged(RuntimeWindow window)
 {
     if (m_editor.ActiveWindow != null && m_editor.ActiveWindow.WindowType == RuntimeWindowType.Scene)
     {
         m_updateRenderers    = true;
         m_activeWindow       = m_editor.ActiveWindow;
         m_selectionComponent = m_activeWindow.IOCContainer.Resolve <IRuntimeSelectionComponent>();
     }
     else
     {
         m_activeWindow       = null;
         m_selectionComponent = null;
         m_renderers          = null;
     }
 }
Пример #30
0
        private void OnActiveWindowChanged(RuntimeWindow window)
        {
            UnsubscribeFromEvents();

            if (m_rte.ActiveWindow != null && m_rte.ActiveWindow.WindowType == RuntimeWindowType.Scene)
            {
                m_selectionComponent = m_rte.ActiveWindow.IOCContainer.Resolve <IRuntimeSelectionComponent>();
            }
            else
            {
                m_selectionComponent = null;
            }

            SubscribeToEvents();
        }