Class Slider
Implements
Inherited Members
Namespace: UnityEngine.UI
Assembly: UnityEngine.UI.dll
Syntax
[AddComponentMenu("UI/Slider", 34)]
[ExecuteAlways]
[RequireComponent(typeof(RectTransform))]
public class Slider : Selectable, IMoveHandler, IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerExitHandler, ISelectHandler, IDeselectHandler, IDragHandler, IInitializePotentialDragHandler, IEventSystemHandler, ICanvasElement
Constructors
Slider()
Declaration
protected Slider()
Fields
m_Value
Declaration
[SerializeField]
protected float m_Value
Field Value
Type | Description |
---|---|
float |
Properties
direction
The direction of the slider, from minimum to maximum value.
Declaration
public Slider.Direction direction { get; set; }
Property Value
Type | Description |
---|---|
Slider.Direction |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
public void Start()
{
//Changes the direction of the slider.
if (mainSlider.direction == Slider.Direction.BottomToTop)
{
mainSlider.direction = Slider.Direction.TopToBottom;
}
}
}
fillRect
Optional RectTransform to use as fill for the slider.
Declaration
public RectTransform fillRect { get; set; }
Property Value
Type | Description |
---|---|
RectTransform |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
//Reference to new "RectTransform"(Child of FillArea).
public RectTransform newFillRect;
//Deactivates the old FillRect and assigns a new one.
void Start()
{
mainSlider.fillRect.gameObject.SetActive(false);
mainSlider.fillRect = newFillRect;
}
}
handleRect
Optional RectTransform to use as a handle for the slider.
Declaration
public RectTransform handleRect { get; set; }
Property Value
Type | Description |
---|---|
RectTransform |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
//Reference to new "RectTransform" (Child of "Handle Slide Area").
public RectTransform handleHighlighted;
//Deactivates the old Handle, then assigns and enables the new one.
void Start()
{
mainSlider.handleRect.gameObject.SetActive(false);
mainSlider.handleRect = handleHighlighted;
mainSlider.handleRect.gameObject.SetActive(true);
}
}
maxValue
The maximum allowed value of the slider.
Declaration
public float maxValue { get; set; }
Property Value
Type | Description |
---|---|
float |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
void Start()
{
// Changes the max value of the slider to 20;
mainSlider.maxValue = 20;
}
}
minValue
The minimum allowed value of the slider.
Declaration
public float minValue { get; set; }
Property Value
Type | Description |
---|---|
float |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
void Start()
{
// Changes the minimum value of the slider to 10;
mainSlider.minValue = 10;
}
}
normalizedValue
The current value of the slider normalized into a value between 0 and 1.
Declaration
public float normalizedValue { get; set; }
Property Value
Type | Description |
---|---|
float |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
//Set to invoke when "OnValueChanged" method is called.
void CheckNormalisedValue()
{
//Displays the normalised value of the slider everytime the value changes.
Debug.Log(mainSlider.normalizedValue);
}
}
onValueChanged
Callback executed when the value of the slider is changed.
Declaration
public Slider.SliderEvent onValueChanged { get; set; }
Property Value
Type | Description |
---|---|
Slider.SliderEvent |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
public void Start()
{
//Adds a listener to the main slider and invokes a method when the value changes.
mainSlider.onValueChanged.AddListener(delegate {ValueChangeCheck(); });
}
// Invoked when the value of the slider changes.
public void ValueChangeCheck()
{
Debug.Log(mainSlider.value);
}
}
value
The current value of the slider.
Declaration
public virtual float value { get; set; }
Property Value
Type | Description |
---|---|
float |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
//Invoked when a submit button is clicked.
public void SubmitSliderSetting()
{
//Displays the value of the slider in the console.
Debug.Log(mainSlider.value);
}
}
wholeNumbers
Should the value only be allowed to be whole numbers?
Declaration
public bool wholeNumbers { get; set; }
Property Value
Type | Description |
---|---|
bool |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
public void Start()
{
//sets the slider's value to accept whole numbers only.
mainSlider.wholeNumbers = true;
}
}
Methods
FindSelectableOnDown()
See Selectable.FindSelectableOnDown
Declaration
public override Selectable FindSelectableOnDown()
Returns
Type | Description |
---|---|
Selectable |
Overrides
FindSelectableOnLeft()
See Selectable.FindSelectableOnLeft
Declaration
public override Selectable FindSelectableOnLeft()
Returns
Type | Description |
---|---|
Selectable |
Overrides
FindSelectableOnRight()
See Selectable.FindSelectableOnRight
Declaration
public override Selectable FindSelectableOnRight()
Returns
Type | Description |
---|---|
Selectable |
Overrides
FindSelectableOnUp()
See Selectable.FindSelectableOnUp
Declaration
public override Selectable FindSelectableOnUp()
Returns
Type | Description |
---|---|
Selectable |
Overrides
GraphicUpdateComplete()
See ICanvasElement.GraphicUpdateComplete
Declaration
public virtual void GraphicUpdateComplete()
LayoutComplete()
See ICanvasElement.LayoutComplete
Declaration
public virtual void LayoutComplete()
OnDidApplyAnimationProperties()
Declaration
protected override void OnDidApplyAnimationProperties()
Overrides
OnDisable()
Declaration
protected override void OnDisable()
Overrides
OnDrag(PointerEventData)
When dragging is occurring this will be called every time the cursor is moved.
Declaration
public virtual void OnDrag(PointerEventData eventData)
Parameters
Type | Name | Description |
---|---|---|
PointerEventData | eventData |
OnEnable()
Declaration
protected override void OnEnable()
Overrides
OnInitializePotentialDrag(PointerEventData)
Called by a BaseInputModule when a drag has been found but before it is valid to begin the drag.
Declaration
public virtual void OnInitializePotentialDrag(PointerEventData eventData)
Parameters
Type | Name | Description |
---|---|---|
PointerEventData | eventData |
OnMove(AxisEventData)
Determine in which of the 4 move directions the next selectable object should be found.
Declaration
public override void OnMove(AxisEventData eventData)
Parameters
Type | Name | Description |
---|---|---|
AxisEventData | eventData |
Overrides
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;// Required when using Event data.
public class ExampleClass : MonoBehaviour, IMoveHandler
{
//When the focus moves to another selectable object, Invoke this Method.
public void OnMove(AxisEventData eventData)
{
//Assigns the move direction and the raw input vector representing the direction from the event data.
MoveDirection moveDir = eventData.moveDir;
Vector2 moveVector = eventData.moveVector;
//Displays the information in the console
Debug.Log(moveDir + ", " + moveVector);
}
}
OnPointerDown(PointerEventData)
Evaluate current state and transition to pressed state.
Declaration
public override void OnPointerDown(PointerEventData eventData)
Parameters
Type | Name | Description |
---|---|---|
PointerEventData | eventData |
Overrides
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;// Required when using Event data.
public class ExampleClass : MonoBehaviour, IPointerDownHandler// required interface when using the OnPointerDown method.
{
//Do this when the mouse is clicked over the selectable object this script is attached to.
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log(this.gameObject.name + " Was Clicked.");
}
}
OnRectTransformDimensionsChange()
This callback is called when the dimensions of an associated RectTransform change. It is always called before Awake, OnEnable, or Start. The call is also made to all child RectTransforms, regardless of whether their dimensions change (which depends on how they are anchored).
Declaration
protected override void OnRectTransformDimensionsChange()
Overrides
OnValidate()
Declaration
protected override void OnValidate()
Overrides
Rebuild(CanvasUpdate)
Rebuild the element for the given stage.
Declaration
public virtual void Rebuild(CanvasUpdate executing)
Parameters
Type | Name | Description |
---|---|---|
CanvasUpdate | executing | The current CanvasUpdate stage being rebuild. |
Set(float, bool)
Set the value of the slider.
Declaration
protected virtual void Set(float input, bool sendCallback = true)
Parameters
Type | Name | Description |
---|---|---|
float | input | The new value for the slider. |
bool | sendCallback | If the OnValueChanged callback should be invoked. |
Remarks
Process the input to ensure the value is between min and max value. If the input is different set the value and send the callback is required.
SetDirection(Direction, bool)
Sets the direction of this slider, optionally changing the layout as well.
Declaration
public void SetDirection(Slider.Direction direction, bool includeRectLayouts)
Parameters
Type | Name | Description |
---|---|---|
Slider.Direction | direction | The direction of the slider |
bool | includeRectLayouts | Should the layout be flipped together with the slider direction |
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.UI; // Required when Using UI elements.
public class Example : MonoBehaviour
{
public Slider mainSlider;
public void Start()
{
mainSlider.SetDirection(Slider.Direction.LeftToRight, false);
}
}
SetValueWithoutNotify(float)
Set the value of the slider without invoking onValueChanged callback.
Declaration
public virtual void SetValueWithoutNotify(float input)
Parameters
Type | Name | Description |
---|---|---|
float | input | The new value for the slider. |
Update()
Update the rect based on the delayed update visuals. Got around issue of calling sendMessage from onValidate.
Declaration
protected virtual void Update()