///Credit ChoMPHi ///Sourced from - http://forum.unity3d.com/threads/accordion-type-layout.271818/ using UnityEngine; using System.Collections; namespace UnityEngine.UI { [RequireComponent(typeof(VerticalLayoutGroup)), RequireComponent(typeof(ContentSizeFitter)), RequireComponent(typeof(ToggleGroup))] public class UIAccordion : MonoBehaviour { public enum Transition { Instant, Tween } [SerializeField] private Transition m_Transition = Transition.Instant; [SerializeField] private float m_TransitionDuration = 0.3f; /// /// Gets or sets the transition. /// /// The transition. public Transition transition { get { return this.m_Transition; } set { this.m_Transition = value; } } /// /// Gets or sets the duration of the transition. /// /// The duration of the transition. public float transitionDuration { get { return this.m_TransitionDuration; } set { this.m_TransitionDuration = value; } } } }