private void CreateNewShape(PBShapeType type, out GameObject go, out ExposeToEditor exposeToEditor) { go = PBShapeGenerator.CreateShape(type); go.AddComponent <PBMesh>(); Renderer renderer = go.GetComponent <Renderer>(); if (renderer != null && renderer.sharedMaterials.Length == 1 && renderer.sharedMaterials[0] == PBBuiltinMaterials.DefaultMaterial) { IMaterialPaletteManager paletteManager = IOC.Resolve <IMaterialPaletteManager>(); if (paletteManager.Palette.Materials.Count > 0) { renderer.sharedMaterial = paletteManager.Palette.Materials[0]; } } IRuntimeEditor rte = IOC.Resolve <IRuntimeEditor>(); RuntimeWindow scene = rte.GetWindow(RuntimeWindowType.Scene); Vector3 position; Quaternion rotation; GetPositionAndRotation(scene, out position, out rotation); exposeToEditor = go.AddComponent <ExposeToEditor>(); go.transform.position = position + rotation * Vector3.up * exposeToEditor.Bounds.extents.y; go.transform.rotation = rotation; }
private object OnNewPolyShape(object arg) { GameObject go; ExposeToEditor exposeToEditor; CreateNewShape(PBShapeType.Cube, out go, out exposeToEditor); go.name = "Poly Shape"; IRuntimeEditor rte = IOC.Resolve <IRuntimeEditor>(); RuntimeWindow scene = rte.GetWindow(RuntimeWindowType.Scene); Vector3 position; Quaternion rotation; GetPositionAndRotation(scene, out position, out rotation); go.transform.position = position; go.transform.rotation = rotation; PBMesh pbMesh = go.GetComponent <PBMesh>(); pbMesh.Clear(); PBPolyShape polyShape = go.AddComponent <PBPolyShape>(); polyShape.IsEditing = true; Editor.Undo.BeginRecord(); Editor.Selection.activeGameObject = go; m_proBuilderTool.Mode = ProBuilderToolMode.PolyShape; Editor.Undo.RegisterCreatedObjects(new[] { exposeToEditor }); Editor.Undo.EndRecord(); return(go); }
protected override void OnEditorExist() { base.OnEditorExist(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.BeforeSceneSave += OnBeforeSceneSave; }
public void AddCubeRegion(string command) { GameObject cube = CreateGameObject.CubeRegion(); IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.Selection.activeGameObject = cube; }
private object OnNewShape(object arg) { GameObject go; ExposeToEditor exposeToEditor; CreateNewShape((PBShapeType)arg, out go, out exposeToEditor); IRuntimeEditor rte = IOC.Resolve <IRuntimeEditor>(); RuntimeWindow scene = rte.GetWindow(RuntimeWindowType.Scene); IRuntimeSelectionComponent selectionComponent = null; if (scene != null) { selectionComponent = scene.IOCContainer.Resolve <IRuntimeSelectionComponent>(); } Editor.Undo.BeginRecord(); if (selectionComponent == null || selectionComponent.CanSelect) { Editor.Selection.activeGameObject = go; } Editor.Undo.RegisterCreatedObjects(new[] { exposeToEditor }); Editor.Undo.EndRecord(); return(go); }
private void Start() { m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.Undo.UndoCompleted += OnUndoCompleted; m_editor.Undo.RedoCompleted += OnRedoCompleted; m_resourcePreviewUtility = IOC.Resolve <IResourcePreviewUtility>(); m_editorsMap = IOC.Resolve <IEditorsMap>(); if (Material == null) { Material = m_editor.Selection.activeObject as Material; } if (Material == null) { Debug.LogError("Select material"); return; } m_previewTexture = new Texture2D(1, 1, TextureFormat.ARGB32, true); TxtMaterialName.text = Material.name; if (Material.shader != null) { TxtShaderName.text = Material.shader.name; } else { TxtShaderName.text = "Shader missing"; } UpdatePreview(Material); BuildEditor(); }
public override void Drop(object[] dragObjects, PointerEventData pointerEventData) { base.Drop(dragObjects, pointerEventData); ProjectItem dropTarget = (ProjectItem)m_listBox.DropTarget; IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); if (CanCreatePrefab(dropTarget, dragObjects)) { ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0]; if (dropTarget.IsFolder) { editor.CreatePrefab(dropTarget, dragObject, null, assetItem => { }); } } else { if (dragObjects[0] is ExposeToEditor) { ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0]; editor.CreatePrefab(m_folders[0], dragObject, null, assetItem => { }); } } m_listBox.ExternalItemDrop(); }
private void Start() { m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.Object.ComponentAdded += OnComponentAdded; m_editorsMap = IOC.Resolve <IEditorsMap>(); GameObject go = m_editor.Selection.activeGameObject; HashSet <Component> ignoreComponents = IgnoreComponents(go); InputName.text = go.name; InputName.readOnly = true; TogEnableDisable.isOn = go.activeSelf; InputName.onEndEdit.AddListener(OnEndEditName); TogEnableDisable.onValueChanged.AddListener(OnEnableDisable); Component[] components = go.GetComponents <Component>(); for (int i = 0; i < components.Length; ++i) { Component component = components[i]; CreateComponentEditor(go, component, ignoreComponents); } }
public void AddDataVisualization(string dateType) { if (dateType == "pointcloud2") { GameObject createdObject = CreateGameObject.PointCloud2("PointCloud2", "/", true); // Focus and Select Created Object IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.Selection.activeGameObject = createdObject; Debug.Log($"New {createdObject} added"); } else if (dateType == "boundingboxes") { GameObject createdObject = CreateGameObject.BoudingBoxes("BoundingBoxes", "/", true); // Focus and Select Created Object IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.Selection.activeGameObject = createdObject; Debug.Log($"New {createdObject} added"); } else if (dateType == "trajectory") { GameObject createdObject = CreateGameObject.Trajectory("Trajectory", "/"); IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.Selection.activeGameObject = createdObject; Debug.Log($"New {createdObject.name} added"); } else if (dateType == "socialdistance") { } else if (dateType == "heatmap") { } }
protected override void Awake() { base.Awake(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_pivotPoint = new GameObject("MeshEditorPivotPoint"); m_pivotPoint.hideFlags = HideFlags.HideInHierarchy; m_pivotPoint.transform.SetParent(transform); ExposeToEditor exposeToEditor = m_pivotPoint.AddComponent <ExposeToEditor>(); exposeToEditor.CanInspect = false; exposeToEditor.CanDelete = false; exposeToEditor.CanDuplicate = false; exposeToEditor.CanRename = false; exposeToEditor.CanCreatePrefab = false; LockAxes la = m_pivotPoint.AddComponent <LockAxes>(); la.PositionZ = true; la.RotationX = la.RotationY = la.RotationScreen = la.RotationFree = true; la.ScaleZ = true; la.PivotRotation = true; la.PivotRotationValue = RuntimePivotRotation.Local; IOC.RegisterFallback <IMeshEditor>(this); if (m_editor != null) { m_editor.Selection.SelectionChanged += OnEditorSelectionChanged; } }
protected virtual void OnDrop(PointerEventData pointerEventData) { object[] dragObjects = Editor.DragDrop.DragObjects; ProjectItem dropTarget = (ProjectItem)m_listBox.DropTarget; IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); if (dropTarget != null && dropTarget.IsFolder && CanCreatePrefab(dropTarget, dragObjects)) { ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0]; if (dropTarget.IsFolder) { editor.CreatePrefab(dropTarget, dragObject, null, assetItem => { }); } } else { if (dragObjects[0] is ExposeToEditor) { ExposeToEditor dragObject = (ExposeToEditor)dragObjects[0]; if (dragObject.CanCreatePrefab) { if (m_folders != null) { editor.CreatePrefab(m_folders[0], dragObject, null, assetItem => { }); } } } } m_listBox.ExternalItemDrop(); }
private void Start() { m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.Undo.UndoCompleted += OnUndoCompleted; m_editor.Undo.RedoCompleted += OnRedoCompleted; m_editorsMap = IOC.Resolve <IEditorsMap>(); if ((Materials == null || Materials.Length == 0) && m_editor.Selection.Length > 0) { Materials = m_editor.Selection.objects.Cast <Material>().ToArray(); } if (Materials == null || Materials.Length == 0 || Materials[0] == null) { Debug.LogError("Select material"); return; } m_previewTexture = new Texture2D(1, 1, TextureFormat.ARGB32, true); TxtMaterialName.text = GetMaterialName(Materials); TxtShaderName.text = GetShaderName(Materials); UpdatePreview(); BuildEditor(); }
private void OnAddComponent(Type type) { IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.Undo.BeginRecord(); GameObject[] gameObjects = editor.Selection.gameObjects; for (int i = 0; i < gameObjects.Length; ++i) { GameObject go = gameObjects[i]; ExposeToEditor exposeToEditor = go.GetComponent <ExposeToEditor>(); foreach (RequireComponent requirement in type.GetCustomAttributes(true).OfType <RequireComponent>()) { if (requirement.m_Type0 != null && !go.GetComponent(requirement.m_Type0)) { editor.Undo.AddComponent(exposeToEditor, requirement.m_Type0); } if (requirement.m_Type1 != null && !go.GetComponent(requirement.m_Type1)) { editor.Undo.AddComponent(exposeToEditor, requirement.m_Type1); } if (requirement.m_Type2 != null && !go.GetComponent(requirement.m_Type2)) { editor.Undo.AddComponent(exposeToEditor, requirement.m_Type2); } } editor.Undo.AddComponent(exposeToEditor, type); } editor.Undo.EndRecord(); }
protected virtual void Start() { m_projectView = GetComponent <ProjectView>(); m_projectTree = m_projectView.ProjectTree.GetComponent <ProjectTreeViewImpl>(); m_projectFolder = m_projectView.ProjectFolder.GetComponent <ProjectFolderViewImpl>(); m_filterInput = m_projectView.FilterInput; m_editor = IOC.Resolve <IRuntimeEditor>(); m_windowManager = IOC.Resolve <IWindowManager>(); m_localization = IOC.Resolve <ILocalization>(); m_project = IOC.Resolve <IProject>(); if (m_project == null) { Debug.LogWarning("RTSLDeps.Get.Project is null"); Destroy(gameObject); return; } m_resourcePreview = IOC.Resolve <IResourcePreviewUtility>(); if (m_resourcePreview == null) { Debug.LogWarning("RTEDeps.Get.ResourcePreview is null"); } DockPanel dockPanelsRoot = GetComponent <DockPanel>(); if (dockPanelsRoot != null) { dockPanelsRoot.CursorHelper = Editor.CursorHelper; } UnityEventHelper.AddListener(m_filterInput, inputField => inputField.onValueChanged, OnFiltering); m_projectFolder.ItemDoubleClick += OnProjectFolderItemDoubleClick; m_projectFolder.ItemRenamed += OnProjectFolderItemRenamed; m_projectFolder.ItemsDeleted += OnProjectFolderItemDeleted; m_projectFolder.SelectionChanged += OnProjectFolderSelectionChanged; m_projectTree.SelectionChanged += OnProjectTreeSelectionChanged; m_projectTree.ItemRenamed += OnProjectTreeItemRenamed; m_projectTree.ItemsDeleted += OnProjectTreeItemDeleted; m_project.OpenProjectCompleted += OnProjectOpenCompleted; m_project.CloseProjectCompleted += OnCloseProjectCompleted; m_project.ImportCompleted += OnImportCompleted; m_project.BeforeDeleteCompleted += OnBeforeDeleteCompleted; m_project.DeleteCompleted += OnDeleteCompleted; m_project.RenameCompleted += OnRenameCompleted; m_project.CreateCompleted += OnCreateCompleted; m_project.MoveCompleted += OnMoveCompleted; m_project.SaveCompleted += OnSaveCompleted; m_project.DuplicateItemsCompleted += OnDuplicateCompleted; if (m_project.IsOpened) { m_projectTree.LoadProject(m_project.Root); m_projectTree.SelectedItem = m_project.Root; } }
private void OnAddComponent(Type type) { IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); GameObject go = editor.Selection.activeGameObject; editor.Undo.AddComponent(go.GetComponent <ExposeToEditor>(), type); }
public void OnPointerClick(PointerEventData eventData) { if (m_text != null && m_text.gameObject.activeSelf) { IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.CreateOrActivateWindow(RuntimeWindowType.Console.ToString()); } }
private void Awake() { m_editorsMap = IOC.Resolve <IEditorsMap>(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.Object.ComponentAdded += OnComponentAdded; GameObject[] selectedObjects = m_editor.Selection.gameObjects; foreach (GameObject go in m_editor.Selection.gameObjects) { ExposeToEditor exposeToEditor = go.GetComponent <ExposeToEditor>(); if (exposeToEditor.GetType().Name == typeof(MyExposeToEditor).Name) { MyExposeToEditor myExposeToEditor = (MyExposeToEditor)exposeToEditor; if (myExposeToEditor.CanRename) { Header.SetActive(true); } else { Header.SetActive(false); } } } InputName.text = GetObjectName(selectedObjects); InputName.onEndEdit.AddListener(OnEndEditName); m_selectedGameObjects = m_editor.Selection.gameObjects.Select(go => new GameObjectWrapper(go)).ToArray(); IsActiveEditor.Init(m_selectedGameObjects, Strong.PropertyInfo((GameObjectWrapper x) => x.IsActive), string.Empty); m_editor.IsBusy = true; LayersEditor.LoadLayers(layersInfo => { m_editor.IsBusy = false; List <RangeOptions.Option> layers = new List <RangeOptions.Option>(); foreach (LayersInfo.Layer layer in layersInfo.Layers) { if (!string.IsNullOrEmpty(layer.Name)) { layers.Add(new RangeOptions.Option(string.Format("{0}: {1}", layer.Index, layer.Name), layer.Index)); } } LayerEditor.Options = layers.ToArray(); LayerEditor.Init(m_editor.Selection.gameObjects, Strong.PropertyInfo((GameObject x) => x.layer), string.Empty); List <List <Component> > groups = GetComponentGroups(selectedObjects); for (int i = 0; i < groups.Count; ++i) { List <Component> group = groups[i]; CreateComponentEditor(group); } UnityEventHelper.AddListener(EditLayersButton, btn => btn.onClick, OnEditLayersClick); }); }
private void Awake() { m_editor = IOC.Resolve <IRuntimeEditor>(); if (RenderPipelineInfo.Type != RPType.Legacy) { m_defaultMaterial = RenderPipelineInfo.DefaultMaterial; } }
private void OnItemsRemoved(object sender, ItemsRemovedArgs e) { if (Editor.ActiveWindow == this) { IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.Delete(e.Items.OfType <ExposeToEditor>().Select(exposed => exposed.gameObject).ToArray()); } //Removal handled in RuntimeEditor class }
protected virtual void OnEditorExist() { m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.IsOpenedChanged += OnIsOpenedChanged; if (m_editor.IsOpened) { OnEditorOpened(); } }
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 Awake() { m_editor = IOC.Resolve <IRuntimeEditor>(); m_localization = IOC.Resolve <ILocalization>(); if (RenderPipelineInfo.Type != RPType.Standard) { m_defaultMaterial = RenderPipelineInfo.DefaultMaterial; } }
protected virtual void AwakeOverride() { m_rte = RTE; IOC.Register <IRTE>(m_rte); IOC.Register(m_rte); m_resourcePreview = ResourcePreview; m_rteAppearance = RTEAppearance; }
public void AddDevice(string deviceType) { GameObject newDeviceObject = CreateGameObject.DeviceWithPointCloud(deviceType); // Focus and Select Created Object IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); editor.Selection.activeGameObject = newDeviceObject; Debug.Log($"New {deviceType} added"); }
private void SaveCurrentClip() { if (CurrentClip != null) { IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); if (editor != null) { editor.SaveAsset(CurrentClip); } } }
protected override void OnEditorExist() { OverrideDefaultLayout(); IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); if (editor.IsOpened) { IWindowManager wm = IOC.Resolve <IWindowManager>(); wm.SetLayout(DefaultLayout, RuntimeWindowType.Scene.ToString()); } }
private void Awake() { IOC.RegisterFallback <IMaterialPaletteManager>(this); m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.SceneLoaded += OnSceneLoaded; m_proBuilderTool = IOC.Resolve <IProBuilderTool>(); InitPalette(); IsReady = true; }
protected override void OnEditorExist() { IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); if (editor.IsOpened) { IWindowManager wm = IOC.Resolve <IWindowManager>(); wm.SetTopBar(m_topBarPrefab != null ? Instantiate(m_topBarPrefab) : null); wm.SetBottomBar(m_bottomBarPrefab != null ? Instantiate(m_bottomBarPrefab) : null); wm.SetLeftBar(m_leftBarPrefab != null ? Instantiate(m_leftBarPrefab) : null); wm.SetRightBar(m_rightBarPrefab != null ? Instantiate(m_rightBarPrefab) : null); } }
protected override void OnDeactivated() { base.OnDeactivated(); IRuntimeEditor editor = IOC.Resolve <IRuntimeEditor>(); if (editor.IsDirty && editor.Selection.activeObject != null) { editor.IsDirty = false; editor.SaveAsset(editor.Selection.activeObject, result => { }); } }
protected virtual void Awake() { m_projectTreeView = GetComponent <ProjectTreeView>(); m_showRootFolder = m_projectTreeView.ShowRootFolder; m_folderIcon = m_projectTreeView.FolderIcon; m_editor = IOC.Resolve <IRuntimeEditor>(); if (Editor == null) { Debug.LogError("Editor is null"); return; } m_project = IOC.Resolve <IProject>(); m_wm = IOC.Resolve <IWindowManager>(); m_localization = IOC.Resolve <ILocalization>(); m_treeView = Instantiate(m_projectTreeView.TreeViewPrefab, transform).GetComponent <VirtualizingTreeView>(); m_treeView.name = "ProjectTreeView"; m_treeView.CanReorder = false; m_treeView.CanReparent = ShowRootFolder; m_treeView.CanUnselectAll = false; m_treeView.CanDrag = ShowRootFolder; m_treeView.CanRemove = false; m_treeView.CanSelectAll = false; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemsRemoving += OnItemsRemoving; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.ItemBeginDrag += OnItemBeginDrag; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDragEnter += OnItemDragEnter; m_treeView.ItemDrag += OnItemDrag; m_treeView.ItemDragExit += OnItemDragExit; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemEndDrag += OnItemEndDrag; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.ItemClick += OnItemClick; m_projectTreeView.DragEnterEvent += OnDragEnter; m_projectTreeView.DragLeaveEvent += OnDragLeave; m_projectTreeView.DragEvent += OnDrag; m_projectTreeView.DropEvent += OnDrop; IOC.RegisterFallback <IProjectTree>(this); }