Beispiel #1
0
    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
        };
    }