bool DrawEditDropdown(DropdownContext dropdown) { var deleteFlg = DrawEditSymbol(dropdown); ++EditorGUI.indentLevel; for (int j = 0; j < dropdown.items.Count; ++j) { using (new EditorGUILayout.HorizontalScope()) { dropdown.items[j] = EditorGUILayout.TextField(dropdown.items[j]); if (GUILayout.Button("削除", EditorStyles.miniButton, GUILayout.Width(kBtnWidth))) { dropdown.items.RemoveAt(j--); } } } using (new EditorGUILayout.HorizontalScope()) { GUILayout.FlexibleSpace(); if (GUILayout.Button("選択追加")) { dropdown.items.Add("ITEM" + dropdown.items.Count); } } --EditorGUI.indentLevel; return(deleteFlg); }
DropdownContext CreateDropdown() { var dropdown = new DropdownContext(); dropdown.name = "DROPDOWN" + m_context.dropdowns.Count; dropdown.description = string.Empty; dropdown.items.Add("ITEM0"); return(dropdown); }
//------------------------------------------------------ // lifecycle //------------------------------------------------------ public DropdownStatus(DropdownContext context, string[] symbols) { this.context = context; index = -1; var symbolIndex = Array.FindIndex(symbols, i => i.StartsWith(context.name)); if (symbolIndex >= 0) { var itemName = symbols[symbolIndex].Substring(context.name.Length + 1); index = context.items.IndexOf(itemName); } }
public DropdownContext(DropdownContext src) : base(src) { items = new List <string>(src.items); }