Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Commit a191653

Browse files
Merged in development (pull request #106)
Release 2.2.3
2 parents 214b4a1 + 1f93524 commit a191653

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1727
-1008
lines changed

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[submodule "Examples"]
2-
path = Examples
3-
url = https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/branch/Examples
1+
[submodule "Examples~"]
2+
path = Examples~
3+
url = https://SimonDarksideJ@bitbucket.org/UnityUIExtensions/unity-ui-extensions.git
44
branch = Examples

.npmignore

Lines changed: 0 additions & 42 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,55 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](http://keepachangelog.com/).
66

7-
## 2019.4 (v2.2) - 2020-07-09
7+
## 2019.5 (v2.3) - 2020-10-31
88

9-
Here we write upgrading notes for brands. It's a team effort to make them as
10-
straightforward as possible.
9+
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).
10+
Be sure to also check out the "Examples" option in the Package Manager window to import the samples to your project.
1111

1212
### Added
1313

14-
- New UPM deployment for Unity 2019, 2018 will still need to use the asset packages due to Unity compatibility issues.
15-
- Updated the project to the new Unity packaging guidelines, including separating out the examples to a separate package.
16-
- Many line drawing updates, including the ability to draw using a mouse (check the examples)
17-
- New Unity Card UI controls thanks to @RyanslikeSoCool
14+
- Add squircle primitive
15+
- Adding new magnetic scroll control
16+
- Added a static library to collate shaders on first use.
17+
- 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.
18+
- Updated DropDown and Autocomplete controls based on feedback in #204
1819

1920
### Changed
2021

21-
- Scroll Snaps (HSS/VSS) now have a "Hard Swipe" feature to restrict movement to a single page for each swipe
22-
- Scroll Snaps have also been updated to work better with the UIInfiniteScroll control
23-
- Update to the Fancy Scroll controls with even more added fanciness
24-
- Several updates to adopt newer Unity standards in the controls to ensure full forwards and backwards compatibility
22+
- Examples now included with UPM delivery and available as a button on the UPM package manager window
23+
- Updated DropDown and Autocomplete controls based on feedback in #204
24+
- Updated Accordion to support both Vertical as well as Horizontal layout
25+
- Updated ComboBox controls to improve better programmatic controls
26+
- Updates to the Infinite scroll to support content of various sizes
27+
- Updated UI Knob control - enabled dragging outside the target area, added example scene
28+
- Minor update to MagneticInfinite Scroll
29+
- Refactored and extended the ContentScrollSnap control
30+
- Added protection against errors and empty scrollrect content
31+
- Added new SetNewItems function to add children programmatically to the control and reset accordingly
32+
- Patch supplied by a contributor to improve the texture sheet use with the UIParticlesystem
33+
- Added "SetKnobValue" function which allows the setting of Value and loops
34+
- Added the programmatic capability to change the parent scroll rect on the ScrollConflictManager at runtime.
2535

2636
### Deprecated
2737

2838
None
2939

3040
### Fixed
3141

32-
- Mouse position use updated in
33-
* RadialSlider
34-
* ColorSampler
35-
* TiltWindow
36-
- Check compiler warnings (#197)
37-
- Line Renderer click to add lines (#183)
38-
- ScrollSnap Swiping options - hard fast swipe (#176)
39-
- Shader Loading issue / UIParticleSystem (#229)
40-
- Issue where Menu Prefabs would be disabled instead of their Clones (#210)
41-
- Check ScrollSnapBase update (#265)
42-
- UIInfiniteScroller support for VSS updated and fixes
43-
- Fix to allow radial slider to start from positions other than left
44-
- Fix UI Particles: Texture sheet animation + Random row(#256)
45-
- Fix for wandering ScrollSnap controls due to Local Positioning drift
46-
- Divide By Zero fix for Gradient (#58)
42+
- Fix to add a "RequireComponent" to Primitives as Unity 2020 does not add them by default
43+
- Remove old Examples submodule
44+
- Updated submodules to hide Examples folder Additionally, updated Package manifest to allow importing of examples direct from UPM package.
45+
- Fixed hard swipe to ensure it only ever moves one page, no matter how far you swipe.
46+
- Fixed a conflict when using the ScrollConflictManager in child content of a HSS or VSS
47+
- Fix for UI Particle system looping
48+
- Fixed public GoToScreen call to only raise events internally (not multiple)
49+
- Final roll-up and fix. Resolved race condition for associated pagination controls.
50+
- Fixed issue with page events not being raised when inertia was disabled (velocity was always zero)
51+
- 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
52+
- Reorderable list items marked as transferable, remain transferable after being dropped
53+
- Patch to resolve issues without the new Input System installed
54+
- Refined magnetic scroll and dependencies while documenting Updated example
55+
- Patch Tooltip
4756

4857
### Removed
4958

Documentation~/com.unity.uiextensions.md

Lines changed: 56 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The Unity UI Extensions project is a collection of extension scripts/effects and
88
> Contact the UI Extensions Team
99
> Be sure to logon to the new [Gitter Chat site](https://gitter.im/Unity-UI-Extensions/Lobby) for the UI Extensions project, if you have any questions, queries or suggestions
1010
> Much easier than posting a question / issue on [YouTube](http://www.youtube.com/c/UnityUIExtensions), [Twitter](https://twitter.com/hashtag/UnityUIExtensions) or [Facebook](https://www.facebook.com/UnityUIExtensions) :D
11-
>
11+
>
1212
> [**UIExtensions Gitter Chanel**](https://gitter.im/Unity-UI-Extensions/Lobby)
1313
1414
# Installing Unity UI Extensions
@@ -31,28 +31,70 @@ For a full list of the controls and how they are used, please see the [online do
3131

3232
This version of the Unity UI Extensions is compatible with the following versions of the Unity Editor:
3333

34-
* 2019 and above - the recommended path for 2019+ is to use the Unity Package Manager to get access to the package. Full details for installing via UPM can be [found here](https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/UPMInstallation).
34+
- 2019 and above - the recommended path for 2019+ is to use the Unity Package Manager to get access to the package. Full details for installing via UPM can be [found here](https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/UPMInstallation).
3535

3636
> Alternatively, the Asset packages have been tested to work with 2019 as well if you prefer to install that way.
3737
38-
* 2018 and below - for 2018 and use this package, you will have to import the asset package(s), either from the Asset Store or from the alternate download locations [listed here](https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/Downloads).
38+
- 2018 and below - for 2018 and use this package, you will have to import the asset package(s), either from the Asset Store or from the alternate download locations [listed here](https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/Downloads).
3939

4040
## [Release Notes](https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/wiki/ReleaseNotes/RELEASENOTES)
4141

42-
### 2019.4 - 2.2 - Back from the future
43-
44-
* New UPM deployment for Unity 2019, 2018 will still need to use the asset packages due to Unity compatibility issues.
45-
* Updated the project to the new Unity packaging guidelines, including separating out the examples to a separate package.
46-
* Many line drawing updates, including the ability to draw using a mouse (check the examples)
47-
* Scroll Snaps (HSS/VSS) now have a "Hard Swipe" feature to restrict movement to a single page for each swipe
48-
* Scroll Snaps have also been updated to work better with the UIInfiniteScroll control
49-
* New Unity Card UI controls thanks to @RyanslikeSoCool
50-
* Update to the Fancy Scroll controls with even more added fanciness
51-
* Several updates to adopt newer Unity standards in the controls to ensure full forwards and backwards compatibility
42+
### 2019.5 - 2.3 - Accelerated Deployment
43+
44+
#### Added
45+
46+
- Add squircle primitive
47+
- Adding new magnetic scroll control
48+
- Added a static library to collate shaders on first use.
49+
- 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.
50+
- Updated DropDown and Autocomplete controls based on feedback in #204
51+
52+
#### Changed
53+
54+
- Examples now included with UPM delivery and available as a button on the UPM package manager window
55+
- Updated DropDown and Autocomplete controls based on feedback in #204
56+
- Updated Accordion to support both Vertical as well as Horizontal layout
57+
- Updated ComboBox controls to improve better programmatic controls
58+
- Updates to the Infinite scroll to support content of various sizes
59+
- Updated UI Knob control - enabled dragging outside the target area, added example scene
60+
- Minor update to MagneticInfinite Scroll
61+
- Refactored and extended the ContentScrollSnap control
62+
- Added protection against errors and empty scrollrect content
63+
- Added new SetNewItems function to add children programmatically to the control and reset accordingly
64+
- Patch supplied by a contributor to improve the texture sheet use with the UIParticlesystem
65+
- Added "SetKnobValue" function which allows the setting of Value and loops
66+
- Added the programmatic capability to change the parent scroll rect on the ScrollConflictManager at runtime.
67+
68+
#### Deprecated
69+
70+
None
71+
72+
#### Fixed
73+
74+
- Fix to add a "RequireComponent" to Primitives as Unity 2020 does not add them by default
75+
- Remove old Examples submodule
76+
- Updated submodules to hide Examples folder Additionally, updated Package manifest to allow importing of examples direct from UPM package.
77+
- Fixed hard swipe to ensure it only ever moves one page, no matter how far you swipe.
78+
- Fixed a conflict when using the ScrollConflictManager in child content of a HSS or VSS
79+
- Fix for UI Particle system looping
80+
- Fixed public GoToScreen call to only raise events internally (not multiple)
81+
- Final roll-up and fix. Resolved race condition for associated pagination controls.
82+
- Fixed issue with page events not being raised when inertia was disabled (velocity was always zero)
83+
- 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
84+
- Reorderable list items marked as transferable, remain transferable after being dropped
85+
- Patch to resolve issues without the new Input System installed
86+
- Refined magnetic scroll and dependencies while documenting Updated example
87+
- Patch Tooltip
88+
89+
#### Removed
90+
91+
None
5292

5393
# Document revision history
5494

5595
|Date|Details|
5696
|-|-|
5797
|July 9th, 2020|2019.4 (v2.2) released, first UPM deployment live |
58-
|September 3rd, 2019|2019.1 (v2.1) released, First major update for the 2.0 series.|
98+
|September 3rd, 2019|2019.1 (v2.1) released, First major update for the 2.0 series.|
99+
|August 8th, 2020|2019.4 (v2.2) released, New UPM Delivery.|
100+
|October 10th, 2020|2019.5 (v2.2) released, New UPM fast delivery|

Editor/UIExtensionsMenuOptions.cs

Lines changed: 71 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -708,33 +708,78 @@ static public void AddUIWindowBase(MenuCommand menuCommand)
708708
go.AddComponent<Image>();
709709
Selection.activeGameObject = go;
710710
}
711-
#endregion
711+
#endregion
712712

713-
#region Accordion
714-
[MenuItem("GameObject/UI/Extensions/Accordion/Accordion Group", false)]
715-
static public void AddAccordionGroup(MenuCommand menuCommand)
713+
#region Accordion
714+
[MenuItem("GameObject/UI/Extensions/Accordion/Accordion", false)]
715+
static public void AddAccordionVertical(MenuCommand menuCommand)
716716
{
717717
GameObject go = CreateUIElementRoot("Accordion Group", menuCommand, s_ThickGUIElementSize);
718-
go.AddComponent<VerticalLayoutGroup>();
719-
go.AddComponent<ContentSizeFitter>();
720-
go.AddComponent<ToggleGroup>();
721-
go.AddComponent<Accordion>();
718+
CreateAccordionGroup(go);
719+
for (int i = 0; i < 3; i++)
720+
{
721+
GameObject child = CreateUIObject($"Accordion Element {i}", go);
722+
CreateAccordionElement(child);
723+
}
722724
Selection.activeGameObject = go;
723725
}
724726

725-
[MenuItem("GameObject/UI/Extensions/Accordion/Accordion Element", false)]
727+
[MenuItem("GameObject/UI/Extensions/Accordion/Accordion Group", false)]
728+
static public void AddAccordionGroup(MenuCommand menuCommand)
729+
{
730+
GameObject go = CreateUIElementRoot("Accordion Group", menuCommand, s_ThickGUIElementSize);
731+
CreateAccordionGroup(go);
732+
Selection.activeGameObject = go;
733+
}
734+
735+
private static void CreateAccordionGroup(GameObject go)
736+
{
737+
var vlg = go.AddComponent<VerticalLayoutGroup>();
738+
vlg.childControlHeight = true;
739+
vlg.childControlWidth = true;
740+
vlg.childForceExpandHeight = false;
741+
vlg.childForceExpandHeight = true;
742+
var csf = go.AddComponent<ContentSizeFitter>();
743+
csf.verticalFit = ContentSizeFitter.FitMode.PreferredSize;
744+
go.AddComponent<ToggleGroup>();
745+
go.AddComponent<Accordion>();
746+
}
747+
748+
[MenuItem("GameObject/UI/Extensions/Accordion/Accordion Element", false)]
726749
static public void AddAccordionElement(MenuCommand menuCommand)
727-
{
728-
GameObject go = CreateUIElementRoot("Accordion Element", menuCommand, s_ThickGUIElementSize);
729-
go.AddComponent<LayoutElement>();
730-
go.AddComponent<AccordionElement>();
731-
Selection.activeGameObject = go;
750+
{
751+
GameObject go = CreateUIElementRoot("Accordion Element", menuCommand, s_ThickGUIElementSize);
752+
CreateAccordionElement(go);
732753

733-
}
734-
#endregion
754+
Selection.activeGameObject = go;
755+
}
756+
757+
private static void CreateAccordionElement(GameObject go)
758+
{
759+
var vlg = go.AddComponent<VerticalLayoutGroup>();
760+
vlg.childControlHeight = true;
761+
vlg.childControlWidth = true;
762+
vlg.childForceExpandHeight = false;
763+
vlg.childForceExpandHeight = true;
764+
go.AddComponent<LayoutElement>();
765+
var accordionElement = go.AddComponent<AccordionElement>();
766+
767+
// Header
768+
GameObject headergo = CreateUIObject("Header", go);
769+
var headerLayout = headergo.AddComponent<LayoutElement>();
770+
headerLayout.minHeight = accordionElement.MinHeight;
771+
var headerText = headergo.AddComponent<Text>();
772+
headerText.text = "This is an Accordion header";
773+
774+
// Text
775+
GameObject textgo = CreateUIObject("Text", go);
776+
var textText = textgo.AddComponent<Text>();
777+
textText.text = "This is an example of text in an accordion element\nLots of information can be put here for selection\nIf you like";
778+
}
779+
#endregion
735780

736-
#region Drop Down controls
737-
[MenuItem("GameObject/UI/Extensions/AutoComplete ComboBox", false)]
781+
#region Drop Down controls
782+
[MenuItem("GameObject/UI/Extensions/AutoComplete ComboBox", false)]
738783
static public void AddAutoCompleteComboBox(MenuCommand menuCommand)
739784
{
740785
GameObject autoCompleteComboBoxRoot = CreateUIElementRoot("AutoCompleteComboBox", menuCommand, s_ThickGUIElementSize);
@@ -1208,6 +1253,14 @@ static public void AddUILineTextureRenderer(MenuCommand menuCommand)
12081253
Selection.activeGameObject = go;
12091254
}
12101255

1256+
[MenuItem("GameObject/UI/Extensions/Primitives/UI Squircle", false)]
1257+
static public void AddUISquircle(MenuCommand menuCommand)
1258+
{
1259+
GameObject go = CreateUIElementRoot("UI Squircle", menuCommand, s_ImageGUIElementSize);
1260+
go.AddComponent<UISquircle>();
1261+
Selection.activeGameObject = go;
1262+
}
1263+
12111264
[MenuItem("GameObject/UI/Extensions/Primitives/UI Circle", false)]
12121265
static public void AddUICircle(MenuCommand menuCommand)
12131266
{

Examples

Lines changed: 0 additions & 1 deletion
This file was deleted.

Examples~

Submodule Examples~ added at 4487168

LICENSE.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
1-
Unity UI Extensions License (BSD3)
1+
# Unity UI Extensions License (BSD3)
2+
23
Copyright (c) 2019
34

4-
Redistribution and use in source and binary forms, with or without modification,
5+
Redistribution and use in source and binary forms, with or without modification,
56
are permitted provided that the following conditions are met:
67

78
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
89

9-
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
10+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
1011
in the documentation and/or other materials provided with the distribution.
1112

12-
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived
13+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived
1314
from this software without specific prior written permission.
1415

15-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
16-
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17-
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
18-
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
19-
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
20-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
21-
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
17+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
19+
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
20+
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
21+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
22+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)