UnityでDropDownのOptionリストに、enumの定義値をラベルとしてスクリプトからセットする
概要
インスペクターでDropDownExampleの_dropdownにuguiのDropDownをセットすれば
開始時にenumのOptionTypeの値[TypeA][TypeB][TypeC]がセットされます。
Unity 2018.4.13f1
1 2 3 4 5 6 7 8 9 |
public class Enums { public enum OptionType { TypeA, TypeB, TypeC } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class DropDownExample : MonoBehaviour { [SerializeField] private Dropdown _dropdown; void Start(){ SetDropDownValue(); } private void SetDropDownValue() { string[] ops = System.Enum.GetNames(typeof(Enums.OptionType)); List<string> ddvalues = new List<string>(); foreach (string typename in ops) { ddvalues.Add(typename); } _dropdown.ClearOptions(); _dropdown.AddOptions(ddvalues); } } |
ポイントはSystem.Enum.GetNamesですね。
1 |
System.Enum.GetNames(typeof(Enums.OptionType)) |
ディスカッション
コメント一覧
まだ、コメントがありません