private void UpdateWeaponPart(WeaponBagUiItem uiItem, IWeaponBagItemInfo info) { foreach (var pair in WeaponPartTypeToIndexDict) { var assetInfo = null == info ? _emptyIcon : info.GetWeaponPartInfoByWeaponPartType(pair.Key); var tf = uiItem.WeaponPartTfList[pair.Value - 1]; var image = uiItem.WeaponPartIconList[pair.Value - 1]; if (string.IsNullOrEmpty(assetInfo.AssetName) || string.IsNullOrEmpty(assetInfo.BundleName)) { tf.gameObject.SetActive(false); continue; } else { tf.gameObject.SetActive(true); } if (spritePool.ContainsKey(assetInfo)) { image.sprite = spritePool[assetInfo]; } else { spritePool.Add(assetInfo, new Sprite()); Loader.RetriveSpriteAsync(assetInfo.BundleName, assetInfo.AssetName, (sprite) => { spritePool[assetInfo] = sprite; image.sprite = sprite; }); } } }
private void UpdateBagItem(IWeaponBagItemInfo item, WeaponBagUiItem uiItem) { UpdateWeaponTip(item, uiItem); uiItem.WeaponName.text = null == item ? "" : item.WeaponName; var weaponIcon = uiItem.WeaponIcon; var assetInfo = null == item ? _emptyIcon : item.WeaponIconAssetInfo; if (spritePool.ContainsKey(assetInfo)) { var sprite = spritePool[assetInfo]; if (string.IsNullOrEmpty(assetInfo.BundleName) || string.IsNullOrEmpty(assetInfo.AssetName) || sprite == null) { weaponIcon.enabled = false; } else { weaponIcon.enabled = true; weaponIcon.sprite = spritePool[assetInfo]; } UIUtils.SetImageSuitable(weaponIcon); } else { spritePool.Add(assetInfo, new Sprite()); Loader.RetriveSpriteAsync(assetInfo.BundleName, assetInfo.AssetName, (sprite) => { spritePool[assetInfo] = sprite; weaponIcon.sprite = sprite; weaponIcon.enabled = true; UIUtils.SetImageSuitable(weaponIcon); }); } var weaponPartGroup = uiItem.WeaponPartGroup; if (weaponPartGroup.gameObject.activeSelf) { UpdateWeaponPart(uiItem, item); } }
private void UpdateWeaponTip(IWeaponBagItemInfo item, WeaponBagUiItem uiItem) { var transform = uiItem.WeaponIcon.transform; if (item == null || item.id <= 0) { tipManager.UnRegisterTip(transform); return; } var id = item.id; if (id <= 0) { return; } var data = new TipShowData(); data.CategoryId = (int)ECategory.Weapon; data.TemID = id; tipManager.RegisterTip <CommonItemTipModel>(transform, data); }