private void Awake() { conditionsTex = Resources.Load <Texture2D>("EAdventureData/img/icons/conditions-24x24"); noConditionsTex = Resources.Load <Texture2D>("EAdventureData/img/icons/no-conditions-24x24"); descriptionsList = new DataControlList() { RequestRepaint = Repaint, elementHeight = 20, Columns = new List <ColumnList.Column>() { new ColumnList.Column() { Text = TC.get("Item.Name") }, new ColumnList.Column() { Text = TC.get("Conditions.Title") } }, drawCell = (rect, index, column, isActive, isFocused) => { var description = descriptions.getDescriptionController(index); switch (column) { case 0: if (index == descriptionsList.index) { description.renameElement(EditorGUI.TextField(rect, description.getName())); } else { EditorGUI.LabelField(rect, description.getName()); } break; case 1: if (GUI.Button(rect, description.getConditionsController().getBlocksCount() > 0 ? conditionsTex : noConditionsTex)) { ConditionEditorWindow window = (ConditionEditorWindow)ScriptableObject.CreateInstance(typeof(ConditionEditorWindow)); window.Init(description.getConditionsController()); } break; } }, onSelectCallback = (list) => { descriptions.setSelectedDescription(list.index); description = descriptions.getSelectedDescriptionController(); } }; descriptionsList.index = 0; nameField = new TextWithSoundField() { Label = TC.get("Item.Name"), FileType = FileType.ITEM_DESCRIPTION_NAME_SOUND }; briefField = new TextWithSoundField() { Label = TC.get("Item.Description"), FileType = FileType.ITEM_DESCRIPTION_BRIEF_SOUND }; fullField = new TextWithSoundField() { Label = TC.get("Item.DetailedDescription"), FileType = FileType.ITEM_DESCRIPTION_DETAILED_SOUND }; }