Merge pull request #460 from Unity-UI-Extensions/feature/2023testing

Feature/2023testing
pull/461/head
Simon (Darkside) Jackson 2023-11-26 15:36:27 +00:00 committed by GitHub
commit c2c098cad6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 304 additions and 210 deletions

View File

@ -2,6 +2,7 @@
///Sourced from - http://forum.unity3d.com/threads/accordion-type-layout.271818/
using System;
using System.Collections;
using UnityEngine.UI.Extensions.Tweens;
namespace UnityEngine.UI.Extensions
@ -45,6 +46,13 @@ namespace UnityEngine.UI.Extensions
this.onValueChanged.AddListener(OnValueChanged);
}
private new IEnumerator Start()
{
base.Start();
yield return new WaitForEndOfFrame(); // Wait for the first frame
OnValueChanged(this.isOn);
}
#if UNITY_EDITOR
protected override void OnValidate()
{

View File

@ -1,7 +1,6 @@
///Credit perchik
///Sourced from - http://forum.unity3d.com/threads/receive-onclick-event-and-pass-it-on-to-lower-ui-elements.293642/
using System;
using System.Collections.Generic;
using System.Linq;
@ -132,6 +131,9 @@ namespace UnityEngine.UI.Extensions
[System.Serializable]
public class SelectionValidityChangedEvent : Events.UnityEvent<bool> { }
[System.Serializable]
public class ItemSelectedEvent : Events.UnityEvent<string> { }
[System.Serializable]
public class ControlDisabledEvent : Events.UnityEvent<bool> { }
@ -142,6 +144,8 @@ namespace UnityEngine.UI.Extensions
public SelectionValidityChangedEvent OnSelectionValidityChanged;
// fires in both cases
public SelectionChangedEvent OnSelectionChanged;
// fires when an item is clicked
public ItemSelectedEvent OnItemSelected;
// fires when item is changed;
public ControlDisabledEvent OnControlDisabled;
@ -359,10 +363,10 @@ namespace UnityEngine.UI.Extensions
/// <param name="item"></param>
private void OnItemClicked(string item)
{
//Debug.Log("item " + item + " clicked");
Text = item;
_mainInput.text = Text;
ToggleDropdownPanel(true);
OnItemSelected?.Invoke(Text);
}
private void RedrawPanel()

View File

@ -2,10 +2,19 @@
/// Sourced from - http://forum.unity3d.com/members/melang.593409/
/// NOT supported in Unity 2022
using System;
#if !UNITY_2022_1_OR_NEWER
using System.Collections.Generic;
#endif
namespace UnityEngine.UI.Extensions
{
#if UNITY_2022_1_OR_NEWER
[Obsolete("BestFitOutline is not supported in Unity 2022.1 or newer. Use TMPro instead.")]
public class BestFitOutline : Shadow
{
}
#else
[AddComponentMenu("UI/Effects/Extensions/BestFit Outline")]
public class BestFitOutline : Shadow
{
@ -61,5 +70,5 @@ namespace UnityEngine.UI.Extensions
}
}
}
}
#endif
}

View File

@ -1,9 +1,17 @@
/// Credit Breyer
/// Sourced from - http://forum.unity3d.com/threads/scripts-useful-4-6-scripts-collection.264161/#post-1777407
#if !UNITY_2022_1_OR_NEWER

using System;
namespace UnityEngine.UI.Extensions
{
#if UNITY_2022_1_OR_NEWER
[Obsolete("CurvedText is not supported in Unity 2022.1 or newer. Use TMPro instead.")]
public class CurvedText : BaseMeshEffect
{
public override void ModifyMesh(VertexHelper vh)
{
}
}
#else
[RequireComponent(typeof(Text))]
[RequireComponent(typeof(RectTransform))]
[AddComponentMenu("UI/Effects/Extensions/Curved Text")]
@ -83,5 +91,5 @@ namespace UnityEngine.UI.Extensions
}
}
}
}
#endif
}

View File

@ -1,10 +1,20 @@
/// adaption for cylindrical bending by herbst

using System;
/// adaption for cylindrical bending by herbst
/// Credit Breyer
/// Sourced from - http://forum.unity3d.com/threads/scripts-useful-4-6-scripts-collection.264161/#post-1777407
#if !UNITY_2022_1_OR_NEWER
namespace UnityEngine.UI.Extensions
{
#if UNITY_2022_1_OR_NEWER
[Obsolete("CylinderText is not supported in Unity 2022.1 or newer. Use TMPro instead.")]
public class CylinderText : BaseMeshEffect
{
public override void ModifyMesh(VertexHelper vh)
{
}
}
#else
[RequireComponent(typeof(Text))]
[RequireComponent(typeof(RectTransform))]
[AddComponentMenu("UI/Effects/Extensions/Cylinder Text")]
@ -53,5 +63,5 @@ namespace UnityEngine.UI.Extensions
}
}
}
}
#endif
}

View File

@ -1,6 +1,4 @@
/// Credit Deeperbeige
/// Sourced from - http://forum.unity3d.com/threads/adjustable-character-spacing-free-script.288277/
/*
/*
Produces an simple tracking/letter-spacing effect on UI Text components.
@ -42,9 +40,23 @@ break down entirely, but it doesn't really do what you'd want either.
*/
#if !UNITY_2022_1_OR_NEWER
using System.Collections.Generic;
#endif
using System;
/// Credit Deeperbeige
/// Sourced from - http://forum.unity3d.com/threads/adjustable-character-spacing-free-script.288277/
namespace UnityEngine.UI.Extensions
{
#if UNITY_2022_1_OR_NEWER
[Obsolete("LetterSpacing is not supported in Unity 2022.1 or newer. Use TMPro instead.")]
public class LetterSpacing : BaseMeshEffect
{
public override void ModifyMesh(VertexHelper vh)
{
}
}
#else
[AddComponentMenu("UI/Effects/Extensions/Letter Spacing")]
///Summary
/// Note, Vertex Count has changed in 5.2.1+, is now 6 (two tris) instead of 4 (tri strip).
@ -171,5 +183,5 @@ namespace UnityEngine.UI.Extensions
vh.AddUIVertexTriangleStream(verts);
}
}
}
#endif
}

View File

@ -1,5 +1,3 @@
/// Credit herbst / derived from LetterSpacing by Deeperbeige
/// Sourced from - http://forum.unity3d.com/threads/adjustable-character-spacing-free-script.288277/
/*
Produces an simple mono-spacing effect on UI Text components.
@ -41,11 +39,24 @@ break down entirely, but it doesn't really do what you'd want either.
*/
#if !UNITY_2022_1_OR_NEWER
using System.Collections.Generic;
#endif
using System;
/// Credit herbst / derived from LetterSpacing by Deeperbeige
/// Sourced from - http://forum.unity3d.com/threads/adjustable-character-spacing-free-script.288277/
namespace UnityEngine.UI.Extensions
{
#if UNITY_2022_1_OR_NEWER
[Obsolete("MonoSpacing is not supported in Unity 2022.1 or newer. Use TMPro instead.")]
public class MonoSpacing : BaseMeshEffect
{
public override void ModifyMesh(VertexHelper vh)
{
}
}
#else
[AddComponentMenu("UI/Effects/Extensions/Mono Spacing")]
[RequireComponent(typeof(Text))]
[RequireComponent(typeof(RectTransform))]
@ -190,5 +201,5 @@ namespace UnityEngine.UI.Extensions
vh.AddUIVertexTriangleStream(verts);
}
}
}
#endif
}

View File

@ -1,12 +1,25 @@
#if !UNITY_2022_1_OR_NEWER
using System.Collections.Generic;
#endif
using System;
/// Credit Melang, Lee Hui
/// Sourced from - http://forum.unity3d.com/members/melang.593409/
/// GC Alloc fix - https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/pull-requests/130
/// NOT supported in Unity 2022
#if !UNITY_2022_1_OR_NEWER
using System.Collections.Generic;
namespace UnityEngine.UI.Extensions
{
#if UNITY_2022_1_OR_NEWER
[Obsolete("BestFitOutline is not supported in Unity 2022.1 or newer. Use TMPro instead.")]
public class NicerOutline : BaseMeshEffect
{
public override void ModifyMesh(VertexHelper vh)
{
}
}
#else
//An outline that looks a bit nicer than the default one. It has less "holes" in the outline by drawing more copies of the effect
[AddComponentMenu("UI/Effects/Extensions/Nicer Outline")]
public class NicerOutline : BaseMeshEffect
@ -194,5 +207,5 @@ namespace UnityEngine.UI.Extensions
}
#endif
}
}
#endif
}

View File

@ -223,12 +223,21 @@ namespace UnityEngine.UI.Extensions
/// <summary>
/// used for changing / updating between screen resolutions
/// </summary>
public void UpdateLayout()
public void UpdateLayout(bool resetPositionToStart = false)
{
_lerp = false;
DistributePages();
if (resetPositionToStart)
{
_currentPage = StartingScreen;
}
if (MaskArea)
{
UpdateVisible();
}
SetScrollContainerPosition();
OnCurrentScreenChange(_currentPage);
}

View File

@ -218,11 +218,21 @@ namespace UnityEngine.UI.Extensions
/// <summary>
/// used for changing / updating between screen resolutions
/// </summary>
public void UpdateLayout()
public void UpdateLayout(bool resetPositionToStart = false)
{
_lerp = false;
DistributePages();
if (MaskArea) UpdateVisible();
if (resetPositionToStart)
{
_currentPage = StartingScreen;
}
if (MaskArea)
{
UpdateVisible();
}
SetScrollContainerPosition();
OnCurrentScreenChange(_currentPage);
}