private bool onEditableItemActionButtonClicked(EditableItemEvents.ActionButtonClicked evt)
    {
        EditableItem item = evt.Item;

        if (evt.Action == EditableItem.ActionType.Delete)
        {
            removeItem(item);
        }
        else if (evt.Action == EditableItem.ActionType.Hide)
        {
            EquipmentIcon componentInChildren = item.GetComponentInChildren <EquipmentIcon>();
            model.HideItem(componentInChildren.EquipmentId);
        }
        else if (evt.Action == EditableItem.ActionType.Show)
        {
            EquipmentIcon componentInChildren = item.GetComponentInChildren <EquipmentIcon>();
            model.ShowItem(componentInChildren.EquipmentId);
        }
        return(false);
    }
    private void removeItem(EditableItem editableItem)
    {
        EquipmentIcon iconItem = editableItem.GetComponentInChildren <EquipmentIcon>();

        indexToRemove = editableItem.GetCurrentIndex();
        PromptDefinition promptDefinition = Service.Get <PromptManager>().GetPromptDefinition("DeleteEquipmentPrompt");
        PromptLoaderCMD  promptLoaderCMD  = new PromptLoaderCMD(this, promptDefinition, delegate(PromptLoaderCMD loader)
        {
            showRemoveItemPrompt(loader, iconItem);
        });

        promptLoaderCMD.Execute();
    }
    private bool onItemReady(EditableItemEvents.ItemReady evt)
    {
        int           index = evt.Index;
        EditableItem  item  = evt.Item;
        EquipmentIcon componentInChildren = item.GetComponentInChildren <EquipmentIcon>();

        switch (index)
        {
        case 0:
            item.ShowActionButton = false;
            componentInChildren.SetupCreateButton();
            break;

        case 1:
            item.ShowActionButton = false;
            componentInChildren.SetupCatalogButton();
            break;

        default:
        {
            componentInChildren.SetupEquipmentButton();
            long key = model.DisplayedInventory[index - 2];
            InventoryIconModel <DCustomEquipment> inventoryIconModel = model.InventoryData.Inventory[key];
            item.ShowActionButton = true;
            item.Action           = EditableItem.ActionType.Delete;
            if (templateDefinitions.TryGetValue(inventoryIconModel.Data.DefinitionId, out TemplateDefinition value) && !value.IsEditable)
            {
                if (inventoryIconModel.IsHidden)
                {
                    item.Action = EditableItem.ActionType.Hide;
                }
                else
                {
                    item.Action = EditableItem.ActionType.Show;
                }
            }
            AccessibilitySettings component = componentInChildren.GetComponent <AccessibilitySettings>();
            if (component != null)
            {
                component.CustomToken = value.Name;
            }
            setItemView(componentInChildren, inventoryIconModel);
            break;
        }
        }
        return(false);
    }