Esempio n. 1
0
 public InventoryItem(IInventoryItemContentInfo itemContentInfo, Inventory inventory, GridPosR gp_matrix)
 {
     GUID            = GetGUID();
     Inventory       = inventory;
     GridPos_Matrix  = gp_matrix;
     ItemContentInfo = itemContentInfo;
 }
        public void Initialize(IInventoryItemContentInfo iInventoryItemContentInfo, BackpackPanel backpackPanel)
        {
            ((RectTransform)transform).anchoredPosition = new Vector2(-((RectTransform)backpackPanel.Container.transform).sizeDelta.x, ((RectTransform)transform).anchoredPosition.y);

            IInventoryItemContentInfo = iInventoryItemContentInfo;
            Color bgColor = IInventoryItemContentInfo.ItemColor;

            ItemNameBG.color  = bgColor;
            ItemNameText.text = IInventoryItemContentInfo.ItemName;

            ItemImage.sprite = BackpackManager.Instance.GetBackpackItemSprite(iInventoryItemContentInfo.ItemSpriteKey);
            Rect  rect  = ItemImage.sprite.rect;
            float ratio = Mathf.Min(ItemImageContainer.sizeDelta.x / rect.width, ItemImageMaxHeight / rect.height);

            rect.height = rect.height * ratio;
            ItemImageContainer.sizeDelta = new Vector2(ItemImageContainer.sizeDelta.x, rect.height);

            ItemCategoryText.text     = IInventoryItemContentInfo.ItemCategoryName;
            ItemCategoryText.color    = IInventoryItemContentInfo.ItemColor;
            ItemQualityText.text      = IInventoryItemContentInfo.ItemQuality;
            ItemQualityText.color     = IInventoryItemContentInfo.ItemColor;
            ItemBasicInfoText.text    = IInventoryItemContentInfo.ItemBasicInfo;
            ItemDetailedInfoText.text = IInventoryItemContentInfo.ItemDetailedInfo;

            foreach (Image image in Decorators)
            {
                image.color = bgColor;
            }

            StartCoroutine(CommonUtils.UpdateLayout((RectTransform)transform));
        }