void OnEnable() { s_Window = this; titleContent = EditorGUIUtility.TrTextContent("Background Tasks"); rootVisualElement.AddStyleSheetPath(ussPath); if (EditorGUIUtility.isProSkin) { rootVisualElement.AddStyleSheetPath(ussPathDark); } else { rootVisualElement.AddStyleSheetPath(ussPathLight); } var toolbar = new UIElements.Toolbar(); m_DismissAllBtn = new ToolbarButton(ClearInactive) { name = "DismissAllBtn", text = L10n.Tr("Clear inactive"), }; toolbar.Add(m_DismissAllBtn); // This is our friend the spacer toolbar.Add(new VisualElement() { style = { flexGrow = 1 } }); rootVisualElement.Add(toolbar); s_VisualProgressItemTask = EditorGUIUtility.Load(k_UxmlProgressItemPath) as VisualTreeAsset; m_TreeView = new TreeView(); m_TreeView.makeItem = MakeTreeViewItem; m_TreeView.bindItem = BindTreeViewItem; m_TreeView.unbindItem = UnbindTreeViewItem; m_TreeView.destroyItem = DestroyTreeViewItem; m_TreeView.fixedItemHeight = 50; m_TreeView.SetRootItems(new TreeViewItemData <Progress.Item>[] {}); var scrollView = m_TreeView.Q <ScrollView>(); if (scrollView != null) { scrollView.horizontalScrollerVisibility = ScrollerVisibility.Hidden; } rootVisualElement.Add(m_TreeView); m_TreeView.Rebuild(); // Update the treeview with the existing items m_MissingParents = new Dictionary <int, List <int> >(); m_ContainedItems = new HashSet <int>(); m_ItemsNeedingExpansion = new HashSet <int>(); OperationsAdded(Progress.EnumerateItems().ToArray()); Progress.added += OperationsAdded; Progress.removed += OperationsRemoved; Progress.updated += OperationsUpdated; UpdateDismissAllButton(); }
private void AddMainUI(VisualElement mainView) { var visualTree = EditorGUIUtility.Load("UXML/SpriteEditor/SpriteFrameModuleInspector.uxml") as VisualTreeAsset; m_SelectedFrameInspector = visualTree.CloneTree(null).Q("spriteFrameModuleInspector"); m_NameElement = m_SelectedFrameInspector.Q("name"); m_NameField = m_SelectedFrameInspector.Q <PropertyControl <string> >("spriteName"); m_NameField.OnValueChanged((evt) => { if (hasSelected) { selectedSpriteName = evt.newValue; } }); m_PositionElement = m_SelectedFrameInspector.Q("position"); m_PositionFieldX = m_PositionElement.Q <PropertyControl <long> >("positionX"); m_PositionFieldX.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.x = evt.newValue; selectedSpriteRect = rect; m_PositionFieldX.value = (long)selectedSpriteRect.x; } }); m_PositionFieldY = m_PositionElement.Q <PropertyControl <long> >("positionY"); m_PositionFieldY.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.y = evt.newValue; selectedSpriteRect = rect; m_PositionFieldY.value = (long)selectedSpriteRect.y; } }); m_PositionFieldW = m_PositionElement.Q <PropertyControl <long> >("positionW"); m_PositionFieldW.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.width = evt.newValue; selectedSpriteRect = rect; m_PositionFieldW.value = (long)selectedSpriteRect.width; } }); m_PositionFieldH = m_PositionElement.Q <PropertyControl <long> >("positionH"); m_PositionFieldH.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.height = evt.newValue; selectedSpriteRect = rect; m_PositionFieldH.value = (long)selectedSpriteRect.height; } }); var borderElement = m_SelectedFrameInspector.Q("border"); m_BorderFieldL = borderElement.Q <PropertyControl <long> >("borderL"); m_BorderFieldL.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.x = evt.newValue; selectedSpriteBorder = border; m_BorderFieldL.value = (long)selectedSpriteBorder.x; } }); m_BorderFieldT = borderElement.Q <PropertyControl <long> >("borderT"); m_BorderFieldT.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.y = evt.newValue; selectedSpriteBorder = border; m_BorderFieldT.value = (long)selectedSpriteBorder.y; } }); m_BorderFieldR = borderElement.Q <PropertyControl <long> >("borderR"); m_BorderFieldR.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.z = evt.newValue; selectedSpriteBorder = border; m_BorderFieldR.value = (long)selectedSpriteBorder.z; } }); m_BorderFieldB = borderElement.Q <PropertyControl <long> >("borderB"); m_BorderFieldB.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.w = evt.newValue; selectedSpriteBorder = border; m_BorderFieldB.value = (long)selectedSpriteBorder.w; } }); m_PivotField = m_SelectedFrameInspector.Q <EnumField>("pivotField"); m_PivotField.Init(SpriteAlignment.Center); m_PivotField.OnValueChanged((evt) => { if (hasSelected) { SpriteAlignment alignment = (SpriteAlignment)evt.newValue; SetSpritePivotAndAlignment(selectedSpritePivot, alignment); m_CustomPivotElement.SetEnabled(selectedSpriteAlignment == SpriteAlignment.Custom); m_CustomPivotFieldX.value = selectedSpritePivot.x; m_CustomPivotFieldY.value = selectedSpritePivot.y; } }); m_CustomPivotElement = m_SelectedFrameInspector.Q("customPivot"); m_CustomPivotFieldX = m_CustomPivotElement.Q <PropertyControl <double> >("customPivotX"); m_CustomPivotFieldX.OnValueChanged((evt) => { if (hasSelected) { var pivot = selectedSpritePivot; pivot.x = (float)evt.newValue; SetSpritePivotAndAlignment(pivot, selectedSpriteAlignment); } }); m_CustomPivotFieldY = m_CustomPivotElement.Q <PropertyControl <double> >("customPivotY"); m_CustomPivotFieldY.OnValueChanged((evt) => { if (hasSelected) { var pivot = selectedSpritePivot; pivot.y = (float)evt.newValue; SetSpritePivotAndAlignment(pivot, selectedSpriteAlignment); } }); //// Force an update of all the fields. PopulateSpriteFrameInspectorField(); mainView.RegisterCallback <SpriteSelectionChangeEvent>(SelectionChange); // Stop mouse events from reaching the main view. m_SelectedFrameInspector.pickingMode = PickingMode.Ignore; m_SelectedFrameInspector.RegisterCallback <MouseDownEvent>((e) => { e.StopPropagation(); }); m_SelectedFrameInspector.RegisterCallback <MouseUpEvent>((e) => { e.StopPropagation(); }); m_SelectedFrameInspector.AddToClassList("moduleWindow"); m_SelectedFrameInspector.AddToClassList("bottomRightFloating"); mainView.Add(m_SelectedFrameInspector); }
static GameObject GetHumanoidFallback() { return((GameObject)EditorGUIUtility.Load("Avatar/DefaultAvatar.fbx")); }
static GameObject GetGenericAnimationFallback() { return((GameObject)EditorGUIUtility.Load("Avatar/DefaultGeneric.fbx")); }
private void AddMainUI(VisualElement mainView) { var visualTree = EditorGUIUtility.Load("UXML/SpriteEditor/SpriteFrameModuleInspector.uxml") as VisualTreeAsset; m_SelectedFrameInspector = visualTree.CloneTree(null).Q("spriteFrameModuleInspector"); m_NameElement = m_SelectedFrameInspector.Q("name"); m_NameField = m_SelectedFrameInspector.Q <PropertyControl <string> >("spriteName"); m_NameField.OnValueChanged((evt) => { if (hasSelected) { selectedSpriteName = evt.newValue; } }); m_NameField.RegisterCallback <FocusOutEvent>((focus) => { if (hasSelected) { m_NameField.SetValueWithoutNotify(selectedSpriteName); } }); m_PositionElement = m_SelectedFrameInspector.Q("position"); m_PositionFieldX = m_PositionElement.Q <PropertyControl <long> >("positionX"); m_PositionFieldX.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.x = evt.newValue; selectedSpriteRect = rect; m_PositionFieldX.SetValueWithoutNotify((long)selectedSpriteRect.x); } }); m_PositionFieldY = m_PositionElement.Q <PropertyControl <long> >("positionY"); m_PositionFieldY.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.y = evt.newValue; selectedSpriteRect = rect; m_PositionFieldY.SetValueWithoutNotify((long)selectedSpriteRect.y); } }); m_PositionFieldW = m_PositionElement.Q <PropertyControl <long> >("positionW"); m_PositionFieldW.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.width = evt.newValue; selectedSpriteRect = rect; m_PositionFieldW.SetValueWithoutNotify((long)selectedSpriteRect.width); } }); m_PositionFieldH = m_PositionElement.Q <PropertyControl <long> >("positionH"); m_PositionFieldH.OnValueChanged((evt) => { if (hasSelected) { var rect = selectedSpriteRect; rect.height = evt.newValue; selectedSpriteRect = rect; m_PositionFieldH.SetValueWithoutNotify((long)selectedSpriteRect.height); } }); var borderElement = m_SelectedFrameInspector.Q("border"); m_BorderFieldL = borderElement.Q <PropertyControl <long> >("borderL"); m_BorderFieldL.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.x = evt.newValue; selectedSpriteBorder = border; m_BorderFieldL.SetValueWithoutNotify((long)selectedSpriteBorder.x); } }); m_BorderFieldT = borderElement.Q <PropertyControl <long> >("borderT"); m_BorderFieldT.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.w = evt.newValue; selectedSpriteBorder = border; m_BorderFieldT.SetValueWithoutNotify((long)selectedSpriteBorder.w); evt.StopPropagation(); } }); m_BorderFieldR = borderElement.Q <PropertyControl <long> >("borderR"); m_BorderFieldR.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.z = evt.newValue; selectedSpriteBorder = border; m_BorderFieldR.SetValueWithoutNotify((long)selectedSpriteBorder.z); } }); m_BorderFieldB = borderElement.Q <PropertyControl <long> >("borderB"); m_BorderFieldB.OnValueChanged((evt) => { if (hasSelected) { var border = selectedSpriteBorder; border.y = evt.newValue; selectedSpriteBorder = border; m_BorderFieldB.SetValueWithoutNotify((long)selectedSpriteBorder.y); } }); m_PivotField = m_SelectedFrameInspector.Q <EnumField>("pivotField"); m_PivotField.Init(SpriteAlignment.Center); m_PivotField.OnValueChanged((evt) => { if (hasSelected) { SpriteAlignment alignment = (SpriteAlignment)evt.newValue; SetSpritePivotAndAlignment(selectedSpritePivot, alignment); m_CustomPivotElement.SetEnabled(selectedSpriteAlignment == SpriteAlignment.Custom); Vector2 pivot = selectedSpritePivotInCurUnitMode; m_CustomPivotFieldX.SetValueWithoutNotify(pivot.x); m_CustomPivotFieldY.SetValueWithoutNotify(pivot.y); } }); m_PivotUnitModeField = m_SelectedFrameInspector.Q <EnumField>("pivotUnitModeField"); m_PivotUnitModeField.Init(PivotUnitMode.Normalized); m_PivotUnitModeField.OnValueChanged((evt) => { if (hasSelected) { m_PivotUnitMode = (PivotUnitMode)evt.newValue; Vector2 pivot = selectedSpritePivotInCurUnitMode; m_CustomPivotFieldX.SetValueWithoutNotify(pivot.x); m_CustomPivotFieldY.SetValueWithoutNotify(pivot.y); } }); m_CustomPivotElement = m_SelectedFrameInspector.Q("customPivot"); m_CustomPivotFieldX = m_CustomPivotElement.Q <PropertyControl <double> >("customPivotX"); m_CustomPivotFieldX.OnValueChanged((evt) => { if (hasSelected) { float newValue = (float)evt.newValue; float pivotX = m_PivotUnitMode == PivotUnitMode.Pixels ? ConvertFromRectToNormalizedSpace(new Vector2(newValue, 0.0f), selectedSpriteRect).x : newValue; var pivot = selectedSpritePivot; pivot.x = pivotX; SetSpritePivotAndAlignment(pivot, selectedSpriteAlignment); } }); m_CustomPivotFieldY = m_CustomPivotElement.Q <PropertyControl <double> >("customPivotY"); m_CustomPivotFieldY.OnValueChanged((evt) => { if (hasSelected) { float newValue = (float)evt.newValue; float pivotY = m_PivotUnitMode == PivotUnitMode.Pixels ? ConvertFromRectToNormalizedSpace(new Vector2(0.0f, newValue), selectedSpriteRect).y : newValue; var pivot = selectedSpritePivot; pivot.y = pivotY; SetSpritePivotAndAlignment(pivot, selectedSpriteAlignment); } }); //// Force an update of all the fields. PopulateSpriteFrameInspectorField(); mainView.RegisterCallback <SpriteSelectionChangeEvent>(SelectionChange); // Stop mouse events from reaching the main view. m_SelectedFrameInspector.pickingMode = PickingMode.Ignore; m_SelectedFrameInspector.RegisterCallback <MouseDownEvent>((e) => { e.StopPropagation(); }); m_SelectedFrameInspector.RegisterCallback <MouseUpEvent>((e) => { e.StopPropagation(); }); m_SelectedFrameInspector.AddToClassList("moduleWindow"); m_SelectedFrameInspector.AddToClassList("bottomRightFloating"); mainView.Add(m_SelectedFrameInspector); }
/// <summary> /// Loads the StyleSheet that is usually applied to DynamicHints that represent data about the components of an instance of an object. /// </summary> /// <returns>The StyleSheet</returns> internal static StyleSheet GetDefaultInstanceDynamicHintStyleSheet() { return(EditorGUIUtility.Load("StyleSheets/DynamicHints/InstanceDynamicHintCommon.uss") as StyleSheet); }