private void onObjectAdded(RectTransform item, int index)
        {
            CustomizationButton component       = item.GetComponent <CustomizationButton>();
            DecalDefinition     decalDefinition = displayedDecals[index];

            component.gameObject.name = decalDefinition.AssetName + "_button";
            RectTransform rectTransform = component.transform as RectTransform;

            rectTransform.anchoredPosition = Vector2.zero;
            rectTransform.anchorMin        = Vector2.zero;
            rectTransform.anchorMax        = Vector2.one;
            rectTransform.sizeDelta        = Vector2.zero;
            rectTransform.localScale       = Vector3.one;
            bool canDrag = isLocalPlayerMember;

            if (!isLocalPlayerMember)
            {
                canDrag = !decalDefinition.IsMemberOnly;
            }
            if (Service.Get <CatalogServiceProxy>().IsCatalogThemeActive())
            {
                canDrag = true;
            }
            Texture2DContentKey decalPath = EquipmentPathUtil.GetDecalPath(decalDefinition.AssetName);

            component.Init(decalPath, BreadcrumbType, decalDefinition.Id, canDrag);
            AccessibilitySettings component2 = component.GetComponent <AccessibilitySettings>();

            if (component2 != null)
            {
                component2.CustomToken = decalDefinition.AssetName;
            }
        }
        protected override void createItem(FabricDefinition itemDefinition, GameObject item, ItemGroup.LockedState lockedState)
        {
            CustomizationButton component = item.GetComponent <CustomizationButton>();
            bool canDrag = lockedState == ItemGroup.LockedState.Unlocked;
            Texture2DContentKey fabricPath = EquipmentPathUtil.GetFabricPath(itemDefinition.AssetName);

            component.Init(fabricPath, BreadcrumbType, itemDefinition.Id, canDrag);
        }