internal ArrayList OnGUI() { // Header using (new GUILayout.HorizontalScope()) { EditorGUILayout.LabelField(string.Format("{0} [{1}]", _label, Values.Length)); GUILayout.FlexibleSpace(); // 要素の追加 if (GUILayout.Button(EditorGUIUtility.TrIconContent("Toolbar Plus"), "RL FooterButton", GUILayout.Width(16))) { var v = new Value(); v.Set(_elementType, ""); Values.Add("", v); } } using (new EditorGUI.IndentLevelScope()) { for (var i = 0; i < Values.Length; i++) { using (new EditorGUILayout.HorizontalScope()) { EditorGUILayout.LabelField("Element " + i); if (GUILayout.Button(EditorGUIUtility.TrIconContent("Toolbar Minus"), "RL FooterButton", GUILayout.Width(16))) { Values.Remove(i); GUIUtility.ExitGUI(); } } Values[i].OnGUI(); } } return(this); }