コード例 #1
0
        protected override void AwakeOverride()
        {
            RenderTextureUsage = RenderTextureUsage.On;

            base.AwakeOverride();
            CanvasGroup.alpha = 0;

            m_tool = IOC.Resolve <IProBuilderTool>();
            m_tool.SelectionChanged += OnProBuilderToolSelectionChanged;
            m_uvEditor        = IOC.Resolve <IManualUVEditor>();
            m_extraComponents = new List <Transform>();

            IWindowManager wm = IOC.Resolve <IWindowManager>();

            Transform[] children = transform.OfType <Transform>().ToArray();
            for (int i = 0; i < children.Length; ++i)
            {
                Transform component = children[i];
                if (!(component is RectTransform))
                {
                    component.gameObject.SetActive(false);
                    component.transform.SetParent(wm.ComponentsRoot, false);

                    m_extraComponents.Add(component);
                }
            }

            m_texturesDropDown.gameObject.SetActive(false);
            UnityEventHelper.AddListener(m_texturesDropDown, dd => dd.onValueChanged, OnTextureChanged);
        }
コード例 #2
0
        private void BeginCreateButtonClick()
        {
            if (m_terrainEditor.Terrain == null || m_terrainEditor.Terrain.terrainData == null)
            {
                return;
            }

            if (m_createBrushEditor != null)
            {
                m_createBrushEditor.SetActive(true);
                m_buttonsPanel.SetActive(false);
                m_brushSizeEditor.gameObject.SetActive(false);
                m_opacityEditor.gameObject.SetActive(false);
                UnityEventHelper.AddListener(m_createButton, button => button.onClick, CreateButtonClick);
                UnityEventHelper.AddListener(m_cancelCreateButton, button => button.onClick, EndCreateButtonClick);
                if (m_customSelection != null)
                {
                    m_customSelection.Enabled = true;
                    if (m_terrainEditor.Projector != null)
                    {
                        m_terrainEditor.Projector.gameObject.SetActive(false);
                    }
                }
            }
        }
コード例 #3
0
        protected override void OnDestroyOverride()
        {
            base.OnDestroyOverride();

            if (m_tool != null)
            {
                m_tool.SelectionChanged -= OnProBuilderToolSelectionChanged;
            }

            if (m_materialEditor != null)
            {
                m_materialEditor.MaterialsApplied -= OnMaterialApplied;
            }

            if (m_paletteManager != null)
            {
                m_paletteManager.PaletteChanged  -= OnPaletteChanged;
                m_paletteManager.MaterialAdded   -= OnMaterialsChanged;
                m_paletteManager.MaterialCreated -= OnMaterialsChanged;
                m_paletteManager.MaterialRemoved -= OnMaterialsChanged;
            }

            for (int i = 0; i < m_extraComponents.Count; ++i)
            {
                if (m_extraComponents[i] != null)
                {
                    Destroy(m_extraComponents[i].gameObject);
                }
            }

            UnityEventHelper.RemoveListener(m_texturesDropDown, dd => dd.onValueChanged, OnTextureChanged);
            m_graphicsLayer.Camera.RenderersCache.Remove(m_texturePreview);
        }
コード例 #4
0
        protected override void AwakeOverride()
        {
            WindowType = RuntimeWindowType.Custom;
            base.AwakeOverride();

            m_tool                   = IOC.Resolve <IMeshDeformerTool>();
            m_tool.ModeChanged      += OnModeChanged;
            m_tool.SelectionChanged += OnSelectionChanged;

            Editor.Selection.SelectionChanged += OnEditorSelectionChanged;

            m_commandsList.ItemClick       += OnItemClick;
            m_commandsList.ItemDataBinding += OnItemDataBinding;
            m_commandsList.ItemExpanding   += OnItemExpanding;
            m_commandsList.ItemBeginDrag   += OnItemBeginDrag;
            m_commandsList.ItemDrop        += OnItemDrop;
            m_commandsList.ItemDragEnter   += OnItemDragEnter;
            m_commandsList.ItemDragExit    += OnItemDragExit;
            m_commandsList.ItemEndDrag     += OnItemEndDrag;

            m_commandsList.CanEdit        = false;
            m_commandsList.CanReorder     = false;
            m_commandsList.CanReparent    = false;
            m_commandsList.CanSelectAll   = false;
            m_commandsList.CanUnselectAll = true;
            m_commandsList.CanRemove      = false;

            UnityEventHelper.AddListener(m_toggleObject, o => o.onValueChanged, OnObjectMode);
            UnityEventHelper.AddListener(m_toggleControlPoints, o => o.onValueChanged, OnControlPointMode);
        }
コード例 #5
0
        protected override void OnDestroyOverride()
        {
            base.OnDestroyOverride();

            if (m_tool != null)
            {
                m_tool.ModeChanged      -= OnModeChanged;
                m_tool.SelectionChanged -= OnSelectionChanged;
                m_tool.Mode              = MeshDeformerToolMode.Object;
            }

            if (m_commandsList != null)
            {
                m_commandsList.ItemClick       -= OnItemClick;
                m_commandsList.ItemDataBinding -= OnItemDataBinding;
                m_commandsList.ItemExpanding   -= OnItemExpanding;
                m_commandsList.ItemBeginDrag   -= OnItemBeginDrag;
                m_commandsList.ItemDrop        -= OnItemDrop;
                m_commandsList.ItemDragEnter   -= OnItemDragEnter;
                m_commandsList.ItemDragExit    -= OnItemDragExit;
                m_commandsList.ItemEndDrag     -= OnItemEndDrag;
            }

            UnityEventHelper.RemoveListener(m_toggleObject, o => o.onValueChanged, OnObjectMode);
            UnityEventHelper.RemoveListener(m_toggleControlPoints, o => o.onValueChanged, OnControlPointMode);
        }
コード例 #6
0
        protected virtual void OnDestroy()
        {
            if (m_projectFolder != null)
            {
                m_projectFolder.ItemDoubleClick  -= OnProjectFolderItemDoubleClick;
                m_projectFolder.ItemRenamed      -= OnProjectFolderItemRenamed;
                m_projectFolder.ItemsDeleted     -= OnProjectFolderItemDeleted;
                m_projectFolder.SelectionChanged -= OnProjectFolderSelectionChanged;
            }

            if (m_projectTree != null)
            {
                m_projectTree.SelectionChanged -= OnProjectTreeSelectionChanged;
                m_projectTree.ItemsDeleted     -= OnProjectTreeItemDeleted;
                m_projectTree.ItemRenamed      -= OnProjectTreeItemRenamed;
            }

            if (m_project != null)
            {
                m_project.OpenProjectCompleted    -= OnProjectOpenCompleted;
                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;
            }

            UnityEventHelper.RemoveListener(m_filterInput, inputField => inputField.onValueChanged, OnFiltering);
        }
コード例 #7
0
        private void OnDestroy()
        {
            if (m_wm != null)
            {
                m_wm.WindowCreated -= OnWindowCreated;
                m_wm.AfterLayout   -= OnAfterLayout;
            }

            if (m_editor != null)
            {
                m_editor.Tools.ToolChanging -= OnEditorToolChanging;
            }

            if (Projector != null)
            {
                Destroy(Projector.gameObject);
            }

            for (int i = 0; i < m_toggles.Length; ++i)
            {
                Toggle toggle = m_toggles[i];
                UnityEventHelper.RemoveAllListeners(toggle, tog => tog.onValueChanged);
            }

            SubscribeSelectionChangingEvent(false);
        }
コード例 #8
0
        private void Start()
        {
            m_toggles    = new Toggle[PBSmoothing.smoothRangeMax - PBSmoothing.smoothRangeMin];
            m_toggles[0] = m_toggleGroup;
            for (int i = 1; i < m_toggles.Length; ++i)
            {
                m_toggles[i] = Instantiate(m_toggleGroup, m_toggleGroup.transform.parent);
            }

            UnityEventHelper.AddListener(m_btnClear, btn => btn.onClick, OnClearClick);
            UnityEventHelper.AddListener(m_btnExpandSelection, btn => btn.onClick, OnExpandSelectionClick);
            for (int i = 0; i < m_toggles.Length; ++i)
            {
                UpdateToogleText(i);

                int index = i;
                m_toggles[i].name = "Toggle Group " + i.ToString();
                UnityEventHelper.AddListener(m_toggles[i], toggle => toggle.onValueChanged, value => OnToggleValueChanged(index, value));
            }

            foreach (int group in m_data.Groups)
            {
                if (group == PBSmoothing.smoothingGroupNone)
                {
                    continue;
                }

                SetToggleState(group - 1, true);
            }
        }
コード例 #9
0
        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;
            }
        }
コード例 #10
0
        protected override void OnDestroyOverride()
        {
            base.OnDestroyOverride();

            if (Editor != null)
            {
                SaveCurrentClip();

                Editor.Selection.SelectionChanged -= OnSelectionChanged;
                if (Editor.Object != null)
                {
                    Editor.Object.ComponentAdded -= OnComponentAdded;
                }
            }

            if (m_propertiesView != null)
            {
                m_propertiesView.BeforePropertiesAdded   -= OnBeforePropertiesAdded;
                m_propertiesView.PropertiesAdded         -= OnPropertiesAdded;
                m_propertiesView.BeforePropertiesRemoved -= OnBeforePropertiesRemoved;
                m_propertiesView.PropertiesRemoved       -= OnPropertiesRemoved;
                m_propertiesView.PropertyExpanded        -= OnPropertyExpanded;
                m_propertiesView.PropertyCollapsed       -= OnPropertyCollapsed;
                m_propertiesView.PropertyBeginEdit       -= OnPropertyBeginEdit;
                m_propertiesView.PropertyValueChanged    -= OnPropertyValueChanged;
                m_propertiesView.PropertyEndEdit         -= OnPropertyEndEdit;
            }

            if (m_timelineView != null)
            {
                m_timelineView.ClipBeginModify -= OnClipBeginModify;
                m_timelineView.ClipModified    -= OnClipModified;
            }

            if (m_animationCreateView != null)
            {
                m_animationCreateView.Click -= OnCreateClick;
            }

            if (m_target != null)
            {
                m_target.ClipsChanged     -= OnAnimationClipsChanged;
                m_target.ClipIndexChanged -= OnAnimationClipIndexChanged;
            }

            UnityEventHelper.RemoveListener(m_previewToggle, toggle => toggle.onValueChanged, OnPreviewToggleValueChanged);
            UnityEventHelper.RemoveListener(m_recordToggle, toggle => toggle.onValueChanged, OnRecordToggleValueChanged);
            UnityEventHelper.RemoveListener(m_firstFrameButton, button => button.onClick, OnFirstFrameButtonClick);
            UnityEventHelper.RemoveListener(m_prevFrameButton, button => button.onClick, OnPrevFrameButtonClick);
            UnityEventHelper.RemoveListener(m_playToggle, toggle => toggle.onValueChanged, OnPlayToggleValueChanged);
            UnityEventHelper.RemoveListener(m_nextFrameButton, button => button.onClick, OnNextFrameButtonClick);
            UnityEventHelper.RemoveListener(m_lastFrameButton, button => button.onClick, OnLastFrameButtonClick);
            UnityEventHelper.RemoveListener(m_frameInput, input => input.onEndEdit, OnFrameInputEndEdit);
            UnityEventHelper.RemoveListener(m_animationsDropDown, dropdown => dropdown.onValueChanged, OnAnimationsDropdownValueChanged);
            UnityEventHelper.RemoveListener(m_samplesInput, input => input.onEndEdit, OnSamplesInputEndEdit);
            UnityEventHelper.RemoveListener(m_addKeyframeButton, button => button.onClick, OnAddKeyframeButtonClick);
            UnityEventHelper.RemoveListener(m_addEventButton, button => button.onClick, OnAddEventButtonClick);
            UnityEventHelper.RemoveListener(m_dopesheetToggle, toggle => toggle.onValueChanged, OnDopesheetToggleValueChanged);
        }
コード例 #11
0
 private void OnDestroy()
 {
     UnityEventHelper.RemoveListener(m_inputField, input => input.onEndEdit, OnInputFieldEndEdit);
     UnityEventHelper.RemoveListener(m_addPropertyButton, button => button.onClick, OnAddPropertyButtonClick);
     UnityEventHelper.RemoveListener(m_toggle, toggle => toggle.onValueChanged, OnToggleValueChange);
     UnityEventHelper.RemoveListener(m_dragField, dragField => dragField.BeginDrag, OnDragFieldBeginDrag);
     UnityEventHelper.RemoveListener(m_dragField, dragField => dragField.EndDrag, OnDragFieldEndDrag);
 }
コード例 #12
0
        private void Awake()
        {
            m_localization = IOC.Resolve <ILocalization>();
            m_editor       = IOC.Resolve <IRTE>();
            m_editor.Tools.ToolChanging += OnEditorToolChanging;
            m_wm = IOC.Resolve <IWindowManager>();
            m_wm.WindowCreated += OnWindowCreated;
            m_wm.AfterLayout   += OnAfterLayout;

            Projector = Instantiate(m_terrainProjectorPrefab, m_editor.Root);
            Projector.gameObject.SetActive(false);

            if (IOC.Resolve <ITerrainSelectionHandlesTool>() == null)
            {
                if (m_toggles[(int)EditorType.Selection_Handles])
                {
                    m_toggles[(int)EditorType.Selection_Handles].gameObject.SetActive(false);
                }
            }

            for (int i = 0; i < m_toggles.Length; ++i)
            {
                Toggle toggle = m_toggles[i];
                if (toggle != null)
                {
                    EditorType editorType = ToEditorType(i);
                    UnityEventHelper.AddListener(toggle, tog => tog.onValueChanged, v => OnToggleValueChanged(editorType, v));
                }
            }

            for (int i = 0; i < m_editors.Length; ++i)
            {
                m_editors[i].SetActive(false);
            }

            EditorType toolType       = (m_editor.Tools.Custom is EditorType) ? (EditorType)m_editor.Tools.Custom : EditorType.Empty;
            Toggle     selectedToggle = m_toggles[(int)toolType];

            if (selectedToggle != null)
            {
                selectedToggle.isOn = true;
            }
            else
            {
                GameObject emptyEditor = m_editors[(int)EditorType.Empty];
                if (emptyEditor)
                {
                    emptyEditor.gameObject.SetActive(true);
                }
            }

            if (m_paintToolSelector != null)
            {
                m_paintToolSelector.Init(this, this, Strong.PropertyInfo((TerrainEditor x) => x.SelectedPaintTool), null, m_localization.GetString("ID_RTTerrain_TerrainEditor_Tool", "Tool:"), null, null, null, false);
            }

            SubscribeSelectionChangingEvent(true);
        }
コード例 #13
0
        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);
            });
        }
コード例 #14
0
        private void Awake()
        {
            m_localization = IOC.Resolve <ILocalization>();
            m_editor       = IOC.Resolve <IRTE>();
            m_editor.Tools.ToolChanging += OnEditorToolChanging;
            m_wm = IOC.Resolve <IWindowManager>();
            m_wm.WindowCreated += OnWindowCreated;
            m_wm.AfterLayout   += OnAfterLayout;

            Projector = IOC.Resolve <TerrainProjectorBase>();
            Projector.transform.SetParent(m_editor.Root, false);
            Projector.gameObject.SetActive(false);

            if (IOC.Resolve <ITerrainGridTool>() == null)
            {
                if (m_toggles[(int)EditorType.Grid])
                {
                    m_toggles[(int)EditorType.Grid].gameObject.SetActive(false);
                }
            }

            for (int i = 0; i < m_toggles.Length; ++i)
            {
                Toggle toggle = m_toggles[i];
                if (toggle != null)
                {
                    EditorType editorType = ToEditorType(i);
                    UnityEventHelper.AddListener(toggle, tog => tog.onValueChanged, v => OnToggleValueChanged(editorType, v));
                }
            }

            for (int i = 0; i < m_editors.Length; ++i)
            {
                m_editors[i].SetActive(false);
            }

            EditorType toolType       = (m_editor.Tools.Custom is EditorType) ? (EditorType)m_editor.Tools.Custom : EditorType.Empty;
            Toggle     selectedToggle = m_toggles[(int)toolType];

            if (selectedToggle != null)
            {
                selectedToggle.isOn = true;
            }
            else
            {
                GameObject emptyEditor = m_editors[(int)EditorType.Empty];
                if (emptyEditor)
                {
                    emptyEditor.gameObject.SetActive(true);
                }
            }

            SubscribeSelectionChangingEvent(true);
        }
コード例 #15
0
        private void EndCutHoles()
        {
            if (m_cutHolesEditor != null)
            {
                m_cutHolesEditor.SetActive(false);
                m_terrainTool.SelectObjectsMode = false;
                m_commandsList.gameObject.SetActive(true);

                UnityEventHelper.RemoveListener(m_cutHolesApplyButton, button => button.onClick, CutHoles);
                UnityEventHelper.RemoveListener(m_cutHolesCancelButton, button => button.onClick, EndCutHoles);
            }
        }
コード例 #16
0
 private void OnDestroy()
 {
     UnityEventHelper.RemoveListener(m_btnClear, btn => btn.onClick, OnClearClick);
     UnityEventHelper.RemoveListener(m_btnExpandSelection, btn => btn.onClick, OnExpandSelectionClick);
     if (m_toggles != null)
     {
         for (int i = 0; i < m_toggles.Length; ++i)
         {
             if (m_toggles[i] != null)
             {
                 UnityEventHelper.RemoveAllListeners(m_toggles[i], toggle => toggle.onValueChanged);
             }
         }
     }
 }
コード例 #17
0
 private void EndCreateBrush()
 {
     if (m_createBrushEditor != null && m_createBrushEditor.activeSelf)
     {
         m_createBrushEditor.SetActive(false);
         m_buttonsPanel.SetActive(true);
         m_brushSizeEditor.gameObject.SetActive(true);
         m_opacityEditor.gameObject.SetActive(true);
         UnityEventHelper.RemoveListener(m_createButton, button => button.onClick, CreateButtonClick);
         UnityEventHelper.RemoveListener(m_cancelCreateButton, button => button.onClick, EndCreateButtonClick);
         if (m_customSelection != null)
         {
             m_customSelection.Enabled = false;
         }
     }
 }
コード例 #18
0
        protected override void AwakeOverride()
        {
            WindowType = RuntimeWindowType.Custom;
            base.AwakeOverride();

            m_localization = IOC.Resolve <ILocalization>();

            m_tool                   = IOC.Resolve <IMeshDeformerTool>();
            m_tool.ModeChanged      += OnModeChanged;
            m_tool.SelectionChanged += OnSelectionChanged;

            m_runtimeEditor = IOC.Resolve <IRuntimeEditor>();
            m_runtimeEditor.SceneLoading += OnSceneLoading;
            m_runtimeEditor.SceneLoaded  += OnSceneLoaded;
            m_runtimeEditor.Selection.SelectionChanged += OnEditorSelectionChanged;
            m_runtimeEditor.Undo.UndoCompleted         += OnEditorUndo;
            m_runtimeEditor.Undo.RedoCompleted         += OnEditorRedo;
            m_runtimeEditor.Undo.StateChanged          += OnEditorUndoStateChanged;

            m_commandsList.ItemClick       += OnItemClick;
            m_commandsList.ItemDataBinding += OnItemDataBinding;
            m_commandsList.ItemExpanding   += OnItemExpanding;
            m_commandsList.ItemBeginDrag   += OnItemBeginDrag;
            m_commandsList.ItemDrop        += OnItemDrop;
            m_commandsList.ItemDragEnter   += OnItemDragEnter;
            m_commandsList.ItemDragExit    += OnItemDragExit;
            m_commandsList.ItemEndDrag     += OnItemEndDrag;

            m_commandsList.CanEdit        = false;
            m_commandsList.CanReorder     = false;
            m_commandsList.CanReparent    = false;
            m_commandsList.CanSelectAll   = false;
            m_commandsList.CanUnselectAll = true;
            m_commandsList.CanRemove      = false;

            UnityEventHelper.AddListener(m_toggleObject, o => o.onValueChanged, OnObjectMode);
            UnityEventHelper.AddListener(m_toggleControlPoints, o => o.onValueChanged, OnControlPointMode);
            UnityEventHelper.AddListener(m_toggleSettings, o => o.onValueChanged, OnSettings);

            m_showTerminalPointsEditor.Init(m_tool, Strong.PropertyInfo((IMeshDeformerTool x) => x.ShowTerminalPoints), m_localization.GetString("ID_RTDeformer_View_ShowTerminalPoints"));

            m_showOriginalMeshEditor.Init(m_tool, Strong.PropertyInfo((IMeshDeformerTool x) => x.ShowOriginal), m_localization.GetString("ID_RTDeformer_View_ShowOriginal"));

            m_pointsPerSegmentEditor.Min = 0;
            m_pointsPerSegmentEditor.Max = 10;
            m_pointsPerSegmentEditor.Init(m_tool, Strong.PropertyInfo((IMeshDeformerTool x) => x.PointsPerSegment), m_localization.GetString("ID_RTDeformer_View_PointsPerSegment"));
        }
コード例 #19
0
        private void OnDestroy()
        {
            if (InputName != null)
            {
                InputName.onEndEdit.RemoveListener(OnEndEditName);
            }

            if (m_editor != null)
            {
                if (m_editor.Object != null)
                {
                    m_editor.Object.ComponentAdded -= OnComponentAdded;
                }
            }

            UnityEventHelper.RemoveListener(EditLayersButton, btn => btn.onClick, OnEditLayersClick);
        }
コード例 #20
0
        protected override void AwakeOverride()
        {
            WindowType = RuntimeWindowType.Animation;
            base.AwakeOverride();

            m_localization = IOC.Resolve <ILocalization>();

            m_propertiesView = GetComponentInChildren <AnimationPropertiesView>(true);
            m_propertiesView.BeforePropertiesAdded   += OnBeforePropertiesAdded;
            m_propertiesView.PropertiesAdded         += OnPropertiesAdded;
            m_propertiesView.BeforePropertiesRemoved += OnBeforePropertiesRemoved;
            m_propertiesView.PropertiesRemoved       += OnPropertiesRemoved;
            m_propertiesView.PropertyExpanded        += OnPropertyExpanded;
            m_propertiesView.PropertyCollapsed       += OnPropertyCollapsed;
            m_propertiesView.PropertyBeginEdit       += OnPropertyBeginEdit;
            m_propertiesView.PropertyValueChanged    += OnPropertyValueChanged;
            m_propertiesView.PropertyEndEdit         += OnPropertyEndEdit;

            m_timelineView                  = GetComponentInChildren <AnimationTimelineView>(true);
            m_timelineView.IsDopesheet      = m_dopesheetToggle.isOn;
            m_timelineView.ClipBeginModify += OnClipBeginModify;
            m_timelineView.ClipModified    += OnClipModified;

            m_animationCreateView        = GetComponentInChildren <AnimationCreateView>(true);
            m_animationCreateView.Click += OnCreateClick;

            OnSelectionChanged(null);

            Editor.Selection.SelectionChanged += OnSelectionChanged;
            Editor.Object.ComponentAdded      += OnComponentAdded;

            UnityEventHelper.AddListener(m_previewToggle, toggle => toggle.onValueChanged, OnPreviewToggleValueChanged);
            UnityEventHelper.AddListener(m_recordToggle, toggle => toggle.onValueChanged, OnRecordToggleValueChanged);
            UnityEventHelper.AddListener(m_firstFrameButton, button => button.onClick, OnFirstFrameButtonClick);
            UnityEventHelper.AddListener(m_prevFrameButton, button => button.onClick, OnPrevFrameButtonClick);
            UnityEventHelper.AddListener(m_playToggle, toggle => toggle.onValueChanged, OnPlayToggleValueChanged);
            UnityEventHelper.AddListener(m_nextFrameButton, button => button.onClick, OnNextFrameButtonClick);
            UnityEventHelper.AddListener(m_lastFrameButton, button => button.onClick, OnLastFrameButtonClick);
            UnityEventHelper.AddListener(m_frameInput, input => input.onEndEdit, OnFrameInputEndEdit);
            UnityEventHelper.AddListener(m_animationsDropDown, dropdown => dropdown.onValueChanged, OnAnimationsDropdownValueChanged);
            UnityEventHelper.AddListener(m_samplesInput, input => input.onEndEdit, OnSamplesInputEndEdit);
            UnityEventHelper.AddListener(m_addKeyframeButton, button => button.onClick, OnAddKeyframeButtonClick);
            UnityEventHelper.AddListener(m_addEventButton, button => button.onClick, OnAddEventButtonClick);
            UnityEventHelper.AddListener(m_dopesheetToggle, toggle => toggle.onValueChanged, OnDopesheetToggleValueChanged);
        }
コード例 #21
0
        private void Awake()
        {
            m_editor = IOC.Resolve <IRTE>();
            m_editor.Tools.ToolChanged += OnEditorToolChanged;
            m_wm = IOC.Resolve <IWindowManager>();
            m_wm.WindowCreated += OnWindowCreated;
            m_wm.AfterLayout   += OnAfterLayout;

            Projector = Instantiate(m_terrainProjectorPrefab, m_editor.Root);
            Projector.gameObject.SetActive(false);

            if (m_canvasGroup != null)
            {
                m_canvasGroup.interactable = false;
            }

            for (int i = 0; i < m_toggles.Length; ++i)
            {
                Toggle toggle = m_toggles[i];
                if (toggle != null)
                {
                    EditorType editorType = ToEditorType(i);
                    UnityEventHelper.AddListener(toggle, tog => tog.onValueChanged, v => OnToggleValueChanged(editorType, v));
                }
            }

            EditorType toolType       = (m_editor.Tools.Custom is EditorType) ? (EditorType)m_editor.Tools.Custom : EditorType.Empty;
            Toggle     selectedToggle = m_toggles[(int)toolType];

            if (selectedToggle != null)
            {
                selectedToggle.isOn = true;
            }
            else
            {
                GameObject emptyEditor = m_editors[(int)EditorType.Empty];
                if (emptyEditor)
                {
                    emptyEditor.gameObject.SetActive(true);
                }
            }

            SubscribeSelectionChangingEvent(true);
        }
コード例 #22
0
        protected override void OnDestroyOverride()
        {
            base.OnDestroyOverride();

            if (m_tool != null)
            {
                m_tool.ModeChanged      -= OnModeChanged;
                m_tool.SelectionChanged -= OnSelectionChanged;
                m_tool.Mode              = MeshDeformerToolMode.Object;
            }

            if (m_runtimeEditor != null)
            {
                if (m_runtimeEditor.Selection != null)
                {
                    m_runtimeEditor.Selection.SelectionChanged -= OnEditorSelectionChanged;
                }
                m_runtimeEditor.SceneLoading -= OnSceneLoading;
                m_runtimeEditor.SceneLoaded  -= OnSceneLoaded;
                if (m_runtimeEditor.Undo != null)
                {
                    m_runtimeEditor.Undo.UndoCompleted -= OnEditorUndo;
                    m_runtimeEditor.Undo.RedoCompleted -= OnEditorRedo;
                    m_runtimeEditor.Undo.StateChanged  -= OnEditorUndoStateChanged;
                }
            }

            if (m_commandsList != null)
            {
                m_commandsList.ItemClick       -= OnItemClick;
                m_commandsList.ItemDataBinding -= OnItemDataBinding;
                m_commandsList.ItemExpanding   -= OnItemExpanding;
                m_commandsList.ItemBeginDrag   -= OnItemBeginDrag;
                m_commandsList.ItemDrop        -= OnItemDrop;
                m_commandsList.ItemDragEnter   -= OnItemDragEnter;
                m_commandsList.ItemDragExit    -= OnItemDragExit;
                m_commandsList.ItemEndDrag     -= OnItemEndDrag;
            }

            UnityEventHelper.RemoveListener(m_toggleObject, o => o.onValueChanged, OnObjectMode);
            UnityEventHelper.RemoveListener(m_toggleControlPoints, o => o.onValueChanged, OnControlPointMode);
            UnityEventHelper.RemoveListener(m_toggleSettings, o => o.onValueChanged, OnSettings);
        }
コード例 #23
0
        public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
        {
            base.OnGUI(position, property, label);

            if (_settings == null)
            {
                UnityEventDebuggerSettingsProvider provider = (UnityEventDebuggerSettingsProvider)UnityEventDebuggerSettingsProvider.CreateUnityEventDebuggerSettingsProvider();
                _settings  = (UnityEventDebuggerSettings)provider.Settings.targetObject;
                _isShowing = _settings.ShowFoldoutsByDefault;
            }

            if (_settings.DisableInEditMode && !Application.isPlaying)
            {
                return;
            }

            List <UnityEventMethodContextHolder> unityEventMethodContextHolders = UnityEventHelper.GetCallbacksOnObjectForEvent(property.serializedObject.targetObject, property.name);

            DrawPropertyGUILayout(unityEventMethodContextHolders);
        }
コード例 #24
0
        protected virtual void Start()
        {
            m_parentDialog = GetComponentInParent <Dialog>();
            if (m_parentDialog != null)
            {
                m_parentDialog.IsOkVisible     = false;
                m_parentDialog.IsCancelVisible = true;
                m_parentDialog.CancelText      = m_localization.GetString("ID_RTEditor_SettingsDialog_Close", "Close");
            }

            if (m_uiSettingsHeader != null)
            {
                m_uiSettingsHeader.Init(null, null, null, null, m_localization.GetString("ID_RTEditor_SettingsDialog_UISettings", "UI Settings"));
            }

            if (m_sceneSettingsHeader != null)
            {
                m_sceneSettingsHeader.Init(null, null, null, null, m_localization.GetString("ID_RTEditor_SettingsDialog_SceneSettings", "Scene Settings"));
            }

            if (m_sceneNavigationSettingsHeader != null)
            {
                m_sceneNavigationSettingsHeader.Init(null, null, null, null, m_localization.GetString("ID_RTEditor_SettingsDialog_SceneNavigationSettings", "Scene Navigation Settings"));
            }

            if (m_measurementHeader != null)
            {
                m_measurementHeader.Init(null, null, null, null, m_localization.GetString("ID_RTEditor_SettingsDialog_MeasurementSettings", "Measurement Settings"));
            }

            if (m_isGridVisibleEditor != null)
            {
                m_isGridVisibleEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.IsGridVisible), null, m_localization.GetString("ID_RTEditor_SettingsDialog_IsGridVisible", "Is Grid Visible"));
            }

            if (m_gridOpacityEditor != null)
            {
                m_gridOpacityEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.GridOpacity), null, m_localization.GetString("ID_RTEditor_SettingsDialog_GridOpacity", "Grid Opacity"));
            }

            if (m_gridZTest != null)
            {
                m_gridZTest.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.GridZTest), null, m_localization.GetString("ID_RTEditor_SettingsDialog_GridZTest", "Grid Z Test"));
            }

            if (m_snapToGridEditor != null)
            {
                m_snapToGridEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.IsGridEnabled), null, m_localization.GetString("ID_RTEditor_SettingsDialog_SnapToGrid", "Snap To Grid"));
            }

            if (m_gridSizeEditor != null)
            {
                m_gridSizeEditor.Min = 0.1f;
                m_gridSizeEditor.Max = 8;
                m_gridSizeEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.GridSize), null, m_localization.GetString("ID_RTEditor_SettingsDialog_GridSize", "Grid Size"));
            }

            if (m_uiAutoScaleEditor != null)
            {
                m_uiAutoScaleEditor.Init(this, this, Strong.PropertyInfo((SettingsDialog x) => x.UIAutoScale), null, m_localization.GetString("ID_RTEditor_SettingsDialog_UIAutoScale", "UI Auto Scale"));
            }

            if (m_uiScaleEditor != null)
            {
                m_uiScaleEditor.Min = 0.5f;
                m_uiScaleEditor.Max = 3;
                m_uiScaleEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.UIScale), null, m_localization.GetString("ID_RTEditor_SettingsDialog_UIScale", "UI Scale"),
                                     () => { },
                                     () => { },
                                     () =>
                {
                    m_settings.EndEditUIScale();
                    if (m_parentDialog != null)
                    {
                        StartCoroutine(CoEndEditUIScale());
                    }
                });
                if (UIAutoScale)
                {
                    m_uiScaleEditor.gameObject.SetActive(false);
                }
            }

            if (m_freeMovementSmoothSpeedEditor != null)
            {
                m_freeMovementSmoothSpeedEditor.Min = 1.0f;
                m_freeMovementSmoothSpeedEditor.Max = 100.0f;
                m_freeMovementSmoothSpeedEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.FreeMovementSmoothSpeed), null, m_localization.GetString("ID_RTEditor_SettingsDialog_FreeMovementSmoothSpeed", "Movement Smooth Speed"));
            }

            if (m_freeRotationSmoothSpeedEditor != null)
            {
                m_freeRotationSmoothSpeedEditor.Min = 1.0f;
                m_freeRotationSmoothSpeedEditor.Max = 100.0f;
                m_freeRotationSmoothSpeedEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.FreeRotationSmoothSpeed), null, m_localization.GetString("ID_RTEditor_SettingsDialog_FreeRotationSmoothSpeed", "Rotation Smooth Speed"));
            }

            if (m_rotationInvertXEditor != null)
            {
                m_rotationInvertXEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.RotationInvertX), null, m_localization.GetString("ID_RTEditor_SettingsDialog_RotationInvertX", "Rotation Invert X"));
            }

            if (m_rotationInvertYEditor != null)
            {
                m_rotationInvertYEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.RotationInvertY), null, m_localization.GetString("ID_RTEditor_SettingsDialog_RotationInvertY", "Rotation Invert Y"));
            }

            if (m_zoomSpeedEditor != null)
            {
                m_zoomSpeedEditor.Min = 1.0f;
                m_zoomSpeedEditor.Max = 100.0f;
                m_zoomSpeedEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.ZoomSpeed), null, m_localization.GetString("ID_RTEditor_SettingsDialog_ZoomSpeed", "Zoom Speed"));
            }

            if (m_constantZoomSpeedEditor != null)
            {
                m_constantZoomSpeedEditor.Init(m_settings, m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.ConstantZoomSpeed), null, m_localization.GetString("ID_RTEditor_SettingsDialog_ConstantZoomSpeed", "Constant Zoom Speed"));
            }

            if (m_measurementSystemEditor != null)
            {
                m_measurementSystemEditor.Init(m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.SystemOfMeasurement), m_localization.GetString("ID_RTEditor_SettingsDialog_SystemOfMeasurement", "System Of Measurement"));
            }

            if (m_graphicsHeader != null)
            {
                m_graphicsHeader.gameObject.SetActive(RenderPipelineInfo.Type != RPType.Standard);
                m_graphicsHeader.Init(null, null, null, null, m_localization.GetString("ID_RTEditor_SettingsDialog_GraphicsSettings", "Graphics Settings"));
            }

            if (m_graphicsQualityEditor != null)
            {
                m_graphicsQualityEditor.gameObject.SetActive(RenderPipelineInfo.Type != RPType.Standard);
                m_graphicsQualityEditor.Init(m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.GraphicsQuality), m_localization.GetString("ID_RTEditor_SettingsDialog_GraphicsQuality", "Quality"));
            }

            if (m_lightSettingsHeader != null)
            {
                m_lightSettingsHeader.Init(null, null, null, null, m_localization.GetString("ID_RTEditor_SettingsDialog_DefaultLightSettings", "Default Light Settings"));
            }

            if (m_lightColorEditor != null)
            {
                m_lightColorEditor.Init(m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.LightColor), m_localization.GetString("ID_RTEditor_SettingsDialog_LightColor", "Light Color"));
            }

            if (m_lightIntensityEditor != null)
            {
                m_lightIntensityEditor.Init(m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.LightIntensity), m_localization.GetString("ID_RTEditor_SettingsDialog_LightIntensity", "Light Intensity"));
            }

            if (m_shadowTypeEditor != null)
            {
                m_shadowTypeEditor.Init(m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.ShadowType), m_localization.GetString("ID_RTEditor_SettingsDialog_ShadowType", "Shadow Type"));
            }

            if (m_shadowStrengthEditor != null)
            {
                m_shadowStrengthEditor.Min = 0;
                m_shadowStrengthEditor.Max = 1;
                m_shadowStrengthEditor.Init(m_settings, Strong.PropertyInfo((ISettingsComponent x) => x.ShadowStrength), m_localization.GetString("ID_RTEditor_SettingsDialog_ShadowStrenth", "Shadow Strength"));
            }

            m_customSettings.Clear();
            for (int i = 0; i < m_settings.CustomSettings.Count; ++i)
            {
                GameObject prefab = m_settings.CustomSettings[i];
                if (prefab != null)
                {
                    GameObject customSettings = Instantiate(prefab);
                    customSettings.transform.SetParent(m_panel, false);
                    customSettings.transform.SetSiblingIndex(m_panel.childCount - 2);
                    m_customSettings.Add(customSettings);
                }
            }

            UnityEventHelper.AddListener(m_resetButton, btn => btn.onClick, OnResetClick);
        }
コード例 #25
0
 private void Unsubscribe()
 {
     UnityEventHelper.RemoveListener(m_toggleDistance, tog => tog.onValueChanged, OnToggleDistance);
     UnityEventHelper.RemoveListener(m_toggleAngle, tog => tog.onValueChanged, OnToggleAngle);
 }
コード例 #26
0
        protected override void OnDestroyOverride()
        {
            base.OnDestroyOverride();

            UnityEventHelper.RemoveListener(m_resetButton, btn => btn.onClick, OnResetClick);
        }
コード例 #27
0
        private void OnAnimationClipsChanged()
        {
            SaveCurrentClip();

            if (m_target != null)
            {
                m_clips = m_target.Clips.Where(rtClip => rtClip != null).ToList();
            }
            else
            {
                m_clips.Clear();
            }

            if (m_target == null || m_clips.Count == 0)
            {
                if (m_previewToggle != null)
                {
                    m_previewToggle.isOn = false;
                }

                if (m_playToggle != null)
                {
                    m_playToggle.isOn = false;
                }

                if (m_frameInput != null)
                {
                    m_frameInput.text = "0";
                    m_currentSample   = 0;
                }

                if (m_samplesInput != null)
                {
                    m_samplesInput.text = "60";
                }

                if (m_dopesheetToggle != null)
                {
                    m_dopesheetToggle.isOn = true;
                }

                if (m_animationsDropDown != null)
                {
                    m_animationsDropDown.ClearOptions();
                }

                CurrentClip = null;
            }
            else
            {
                if (m_animationsDropDown != null)
                {
                    UnityEventHelper.RemoveListener(m_animationsDropDown, dropdown => dropdown.onValueChanged, OnAnimationsDropdownValueChanged);

                    m_animationsDropDown.ClearOptions();
                    List <TMP_Dropdown.OptionData> options = new List <TMP_Dropdown.OptionData>();

                    for (int i = 0; i < m_clips.Count; ++i)
                    {
                        options.Add(new TMP_Dropdown.OptionData(m_clips[i].name));
                    }

                    m_animationsDropDown.options = options;

                    if (!m_clips.Contains(CurrentClip))
                    {
                        CurrentClip = m_clips.First();
                        m_animationsDropDown.value = 0;
                    }
                    else
                    {
                        m_animationsDropDown.value = m_clips.IndexOf(CurrentClip);
                    }
                    UnityEventHelper.AddListener(m_animationsDropDown, dropdown => dropdown.onValueChanged, OnAnimationsDropdownValueChanged);
                }
                else
                {
                    if (!m_clips.Contains(CurrentClip))
                    {
                        CurrentClip = m_clips.First();
                    }
                }
            }

            if (m_group != null)
            {
                m_group.alpha = CurrentClip != null ? 1 : 0.5f;
            }

            if (m_blockUI != null)
            {
                m_blockUI.SetActive(CurrentClip == null);

                if (CurrentClip == null && EventSystem.current != null)
                {
                    EventSystem.current.SetSelectedGameObject(null);
                }
            }

            UpdateCreateViewState();
        }
コード例 #28
0
 private void OnDestroy()
 {
     UnityEventHelper.RemoveListener(m_createPrimitiveButton, btn => btn.onClick, OnCreatePrimitive);
     UnityEventHelper.RemoveListener(m_createPolyshapeButton, btn => btn.onClick, OnCreatePolyshape);
 }
コード例 #29
0
 private void OnDestroy()
 {
     UnityEventHelper.RemoveListener(m_addPropertyButton, button => button.onClick, OnAddPropertyButtonClick);
 }
コード例 #30
0
 private void Awake()
 {
     UnityEventHelper.AddListener(m_addPropertyButton, button => button.onClick, OnAddPropertyButtonClick);
 }