36 lines
952 B
C#
36 lines
952 B
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class SegmentedScrollbar : MonoBehaviour
|
|
{
|
|
[SerializeField] Color selectedColor;
|
|
[SerializeField] Color deselectedColor;
|
|
[SerializeField] Image segmentPrefab;
|
|
|
|
private Image[] segments;
|
|
|
|
public void Init(int segmentsCount)
|
|
{
|
|
//чистка
|
|
for(int i = transform.childCount-1; i >=0; i--)
|
|
Destroy(transform.GetChild(i).gameObject);
|
|
segments = new Image[segmentsCount];
|
|
|
|
//спавн + инит цвета
|
|
for (int i = 0; i < segmentsCount; i++)
|
|
{
|
|
segments[i] = Instantiate(segmentPrefab, transform);
|
|
segments[i].color = deselectedColor;
|
|
}
|
|
segments[0].color = selectedColor;
|
|
}
|
|
|
|
public void SetActiveSegment(int index)
|
|
{
|
|
for (int i = 0; i < segments.Length; i++)
|
|
segments[i].color = i == index ? selectedColor : deselectedColor;
|
|
}
|
|
|
|
|
|
}
|