From 383e19fb0512e6c4e942abb55d856a8578f1b76d Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 10 May 2021 17:38:31 +0000 Subject: [PATCH] Merged in development (pull request #122) Development * Merged in updated_new_input_system_check (pull request #117) Updated the new Input system switch and tested against 2021 * Updated LineRenderer to initialise with a 1 point array, this resolves an issue with Unity putting the previous controls vertext array in an uninitialised control. Also updated examples checkout * Merged in UpdatedLineRender (pull request #118) UILineRender now initilises with a point of 1 to correct Unity issue * Applied J.R. Mitchell's fix for the Accordion Controls/Accordion/AccordionElement.cs resolves: #364 * Merged in AccordionFIx (pull request #119) Update to Accordion to allow for prefab Accordion Elements * Resolved issue where the Content Scroll snap would cause issue with only 1 child. Also tested and fixed working with no children. Resolves #362 * Merged in content_scroll_snap_fix (pull request #120) ContentScrollSnap update * Updated the PaginationManager to override if the ScrollSnap is in motion. BuyerBeware, Unity's toggles can get in to a state where they are clicked but not clicked. * Merged in PaginationFix (pull request #121) Updated the PaginationManager to override if the ScrollSnap is in motion. * Updated release notes and bumped version to release --- .gitignore | 3 +- .npmignore | 2 +- CHANGELOG.md | 68 ++- Documentation~/com.unity.uiextensions.md | 58 +-- Editor/UIExtensionsMenuOptions.cs | 9 +- Examples~ | 2 +- README.md | 87 ++-- .../Controls/Accordion/AccordionElement.cs | 8 +- .../Controls/ComboBox/AutoCompleteComboBox.cs | 93 +++- Runtime/Scripts/Controls/ComboBox/ComboBox.cs | 24 +- .../Scripts/Controls/ComboBox/DropDownList.cs | 14 +- Runtime/Scripts/Controls/RangeSlider.cs | 6 +- Runtime/Scripts/Controls/SegmentedControl.cs | 5 + .../Layout/ContentScrollSnapHorizontal.cs | 12 +- Runtime/Scripts/Layout/ScrollSnapBase.cs | 5 +- Runtime/Scripts/MenuSystem/MenuManager.cs | 14 +- Runtime/Scripts/Primitives/UILineRenderer.cs | 14 +- .../Scripts/Utilities/PaginationManager.cs | 2 +- .../Utilities/UIExtensionsInputManager.cs | 36 +- Runtime/Scripts/Utilities/UILineConnector.cs | 8 +- .../Scripts/Utilities/UIScrollToSelection.cs | 437 ++++++++++-------- .../Utilities/UI_ScrollRectOcclusion.cs | 87 ++-- package.json | 4 +- 23 files changed, 601 insertions(+), 397 deletions(-) diff --git a/.gitignore b/.gitignore index 1af040d..6c0df80 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,5 @@ sysinfo.txt # UPM Build updates [Ee]xamples -[Ee]xamples.meta \ No newline at end of file +[Ee]xamples.meta +bitbucket-pipelines.yml.meta \ No newline at end of file diff --git a/.npmignore b/.npmignore index 823c4a9..dd46b22 100644 --- a/.npmignore +++ b/.npmignore @@ -35,8 +35,8 @@ sysinfo.txt /.vs # UPM Build updates -[Ee]xamples [Ee]xamples.meta # NPM publish exclusions bitbucket-pipelines.yml +bitbucket-pipelines.yml.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index 2138a11..4b1c096 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,34 +4,37 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). -## 2019.5 (v2.3) - 2020-10-31 +## 2019.6 - 2.5 - Bug squash - 2021/05/10 + +Its been a while since the last update and although Unity keeps changing, thankfully the parts underneath do not. THanks to some awesome work by our contributors and the test teams, we made a run on some underlying bugs and issues. If you spot anything else, please log it on the BitBucket site for resolution. + +> Be sure to logon to the new [Gitter Chat](https://gitter.im/Unity-UI-Extensions/Lobby) site for the UI Extensions project, if you have any questions, queries or suggestions +> +> Much easier that posting a question / issue on YouTube, Twitter or Facebook :D +> +> ## [UIExtensions Gitter Channel](https://gitter.im/Unity-UI-Extensions/Lobby) -Since the move to UPM, the team have been able to react quicker and push out fixes a lot easier, without affecting previous installation (whilst still adhering to Unity's backwards compatibility pattern). So it is with great news we announce this new release, faster that ever :D (and thanks to UPM, easier to upgrade than ever). -Be sure to also check out the "Examples" option in the Package Manager window to import the samples to your project. ### Added -- Add squircle primitive -- Adding new magnetic scroll control -- Added a static library to collate shaders on first use. -- Finalized new InputManagerHelper, which translates input based on the operating input system, new or old Updated CardStack2D to have defined keyboard input or specific gamepad input over the older axisname for new input system. -- Updated DropDown and Autocomplete controls based on feedback in #204 +Nothing new this time, bugfix release. ### Changed -- Examples now included with UPM delivery and available as a button on the UPM package manager window -- Updated DropDown and Autocomplete controls based on feedback in #204 -- Updated Accordion to support both Vertical as well as Horizontal layout -- Updated ComboBox controls to improve better programmatic controls -- Updates to the Infinite scroll to support content of various sizes -- Updated UI Knob control - enabled dragging outside the target area, added example scene -- Minor update to MagneticInfinite Scroll -- Refactored and extended the ContentScrollSnap control -- Added protection against errors and empty scrollrect content -- Added new SetNewItems function to add children programmatically to the control and reset accordingly -- Patch supplied by a contributor to improve the texture sheet use with the UIParticlesystem -- Added "SetKnobValue" function which allows the setting of Value and loops -- Added the programmatic capability to change the parent scroll rect on the ScrollConflictManager at runtime. +- Updated UI Line connector to use relative position instead of anchored position to verify if the Lines need updating. +- Allow menu prefabs to not have to have canvas components. This allows you to use any type of prefab as a "menu". Adam Kapos mentions the concept on the Unite talk, https://youtu.be/wbmjturGbAQ?t=1654 +- Updated segment line drawing for Line Lists. Seems Unity no longer needs UV's to be wrapped manually. +- Updated the AutoCompleteComboBox to display text as entered (instead of all lowercase) +- Updated the ComboBox to display text as entered (instead of all lowercase) +- Updated ComboBox Examples to include programmatic versions +- Further ComboBox improvements including: + * Upwards panel + * Start fixes + * Item Template resize + * Disabled sorting on combobox as it wasn't working + * Disabled Slider handle when not in use + * Updated Example +- Updated the new Input system switch and tested against 2021 ### Deprecated @@ -39,20 +42,15 @@ None ### Fixed -- Fix to add a "RequireComponent" to Primitives as Unity 2020 does not add them by default -- Remove old Examples submodule -- Updated submodules to hide Examples folder Additionally, updated Package manifest to allow importing of examples direct from UPM package. -- Fixed hard swipe to ensure it only ever moves one page, no matter how far you swipe. -- Fixed a conflict when using the ScrollConflictManager in child content of a HSS or VSS -- Fix for UI Particle system looping -- Fixed public GoToScreen call to only raise events internally (not multiple) -- Final roll-up and fix. Resolved race condition for associated pagination controls. -- Fixed issue with page events not being raised when inertia was disabled (velocity was always zero) -- When cloned, reorderable list was creating a second List Content component that was not initialized. Refactored to ensure only one list content was present and is initialized correctly -- Reorderable list items marked as transferable, remain transferable after being dropped -- Patch to resolve issues without the new Input System installed -- Refined magnetic scroll and dependencies while documenting Updated example -- Patch Tooltip +- Reordering issue resolved with ScrollRectOcclusion. +- Fixed Sorting at min and max positions for ScrollRect +- Updated ScrollToSelect script provided by zero3growlithe, tested and vastly reduces the previous jitter. Still present but barely noticeable now. +- Fixed Issue # 363 Update Combobox control that takes multiple items programmatically, to only allow distinct items +- Fixed the issues where dragging outside the range slider handle causes the range to update. - Resolves #369 +- Resolves an issue with Unity putting the previous controls vertex array in an uninitialised control. +- Applied J.R. Mitchell's fix for the Accordion Controls/Accordion/AccordionElement.cs - resolves: #364 +- Resolved issue where the Content Scroll snap issue with only 1 child. Resolves #362 +- Updated the PaginationManager to override if the ScrollSnap is in motion. ### Removed diff --git a/Documentation~/com.unity.uiextensions.md b/Documentation~/com.unity.uiextensions.md index 93ed189..580eaad 100644 --- a/Documentation~/com.unity.uiextensions.md +++ b/Documentation~/com.unity.uiextensions.md @@ -39,31 +39,28 @@ This version of the Unity UI Extensions is compatible with the following version ## [Release Notes](https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/ReleaseNotes/RELEASENOTES) -### 2019.5 - 2.3 - Accelerated Deployment +### 2019.6 - 2.5 - Bug squash #### Added -- Add squircle primitive -- Adding new magnetic scroll control -- Added a static library to collate shaders on first use. -- Finalized new InputManagerHelper, which translates input based on the operating input system, new or old Updated CardStack2D to have defined keyboard input or specific gamepad input over the older axisname for new input system. -- Updated DropDown and Autocomplete controls based on feedback in #204 +Nothing new this time, bugfix release. #### Changed -- Examples now included with UPM delivery and available as a button on the UPM package manager window -- Updated DropDown and Autocomplete controls based on feedback in #204 -- Updated Accordion to support both Vertical as well as Horizontal layout -- Updated ComboBox controls to improve better programmatic controls -- Updates to the Infinite scroll to support content of various sizes -- Updated UI Knob control - enabled dragging outside the target area, added example scene -- Minor update to MagneticInfinite Scroll -- Refactored and extended the ContentScrollSnap control -- Added protection against errors and empty scrollrect content -- Added new SetNewItems function to add children programmatically to the control and reset accordingly -- Patch supplied by a contributor to improve the texture sheet use with the UIParticlesystem -- Added "SetKnobValue" function which allows the setting of Value and loops -- Added the programmatic capability to change the parent scroll rect on the ScrollConflictManager at runtime. +- Updated UI Line connector to use relative position instead of anchored position to verify if the Lines need updating. +- Allow menu prefabs to not have to have canvas components. This allows you to use any type of prefab as a "menu". Adam Kapos mentions the concept on the Unite talk, https://youtu.be/wbmjturGbAQ?t=1654 +- Updated segment line drawing for Line Lists. Seems Unity no longer needs UV's to be wrapped manually. +- Updated the AutoCompleteComboBox to display text as entered (instead of all lowercase) +- Updated the ComboBox to display text as entered (instead of all lowercase) +- Updated ComboBox Examples to include programmatic versions +- Further ComboBox improvements including: + * Upwards panel + * Start fixes + * Item Template resize + * Disabled sorting on combobox as it wasn't working + * Disabled Slider handle when not in use + * Updated Example +- Updated the new Input system switch and tested against 2021 #### Deprecated @@ -71,20 +68,15 @@ None #### Fixed -- Fix to add a "RequireComponent" to Primitives as Unity 2020 does not add them by default -- Remove old Examples submodule -- Updated submodules to hide Examples folder Additionally, updated Package manifest to allow importing of examples direct from UPM package. -- Fixed hard swipe to ensure it only ever moves one page, no matter how far you swipe. -- Fixed a conflict when using the ScrollConflictManager in child content of a HSS or VSS -- Fix for UI Particle system looping -- Fixed public GoToScreen call to only raise events internally (not multiple) -- Final roll-up and fix. Resolved race condition for associated pagination controls. -- Fixed issue with page events not being raised when inertia was disabled (velocity was always zero) -- When cloned, reorderable list was creating a second List Content component that was not initialized. Refactored to ensure only one list content was present and is initialized correctly -- Reorderable list items marked as transferable, remain transferable after being dropped -- Patch to resolve issues without the new Input System installed -- Refined magnetic scroll and dependencies while documenting Updated example -- Patch Tooltip +- Reordering issue resolved with ScrollRectOcclusion. +- Fixed Sorting at min and max positions for ScrollRect +- Updated ScrollToSelect script provided by zero3growlithe, tested and vastly reduces the previous jitter. Still present but barely noticeable now. +- Fixed Issue # 363 Update Combobox control that takes multiple items programmatically, to only allow distinct items +- Fixed the issues where dragging outside the range slider handle causes the range to update. - Resolves #369 +- Resolves an issue with Unity putting the previous controls vertex array in an uninitialised control. +- Applied J.R. Mitchell's fix for the Accordion Controls/Accordion/AccordionElement.cs - resolves: #364 +- Resolved issue where the Content Scroll snap issue with only 1 child. Resolves #362 +- Updated the PaginationManager to override if the ScrollSnap is in motion. #### Removed diff --git a/Editor/UIExtensionsMenuOptions.cs b/Editor/UIExtensionsMenuOptions.cs index cfce769..b445a7b 100644 --- a/Editor/UIExtensionsMenuOptions.cs +++ b/Editor/UIExtensionsMenuOptions.cs @@ -806,7 +806,8 @@ namespace UnityEditor.UI //Setup Template itemTemplate.name = "ItemTemplate"; var itemTemplateRT = itemTemplate.GetComponent(); - itemTemplateRT.sizeDelta = cbbRT.sizeDelta; + itemTemplateRT.sizeDelta = cbbRT.sizeDelta - new Vector2(10,0); + itemTemplateRT.anchoredPosition = new Vector2(-5, 0); var itemTemplateButton = itemTemplate.GetComponent