Files
ichni_Official/Assets/Scripts/UI/Base/Dropdown.cs

49 lines
1.4 KiB
C#
Raw Normal View History

2025-08-22 14:54:40 -04:00
using System.Collections;
using System.Collections.Generic;
using Michsky.MUIP;
using UnityEngine;
namespace Ichni.UI
{
public class Dropdown : SettingsUIElementBase
{
public List<string> options;
public CustomDropdown dropdown;
public int selectedIndex;
public string selectedOption;
2026-07-19 16:44:58 -04:00
public void SetUp(int initialValue, List<string> options, string title = "", bool preservePrefabTitle = false)
2025-08-22 14:54:40 -04:00
{
2026-07-19 16:44:58 -04:00
base.SetUp(title, preservePrefabTitle: preservePrefabTitle);
2025-08-22 14:54:40 -04:00
this.options = options;
this.dropdown.items = new List<CustomDropdown.Item>();
foreach (string option in options)
{
dropdown.items.Add(new CustomDropdown.Item { itemName = option });
}
dropdown.onValueChanged.AddListener(value =>
{
SetValue(value);
updateValueAction?.Invoke();
});
SetValue(initialValue);
}
public int GetOptionIndex(string option)
{
return options.IndexOf(option);
}
public void SetValue(int index)
{
selectedIndex = index;
selectedOption = options[selectedIndex];
dropdown.selectedItemIndex = selectedIndex;
dropdown.UpdateItemLayout();
}
}
2026-07-19 16:44:58 -04:00
}