407 lines
14 KiB
C#
Raw Normal View History

2025-06-07 17:43:34 +08:00
//using Codice.CM.Common;
using UnityEngine;
using UnityEngine.UI;
public class Common_PropItem : UIMonoBase
{
[SerializeField]
public Image img_icon;
[SerializeField]
private Image img_di;
[SerializeField]
public Text tx_num;
[SerializeField]
private Transform img_star;
[SerializeField]
private GameObject go_fragmentItem;
[SerializeField]
public GameObject btn_add;
[SerializeField]
public GameObject go_select;
[SerializeField]
public GameObject go_line;
[SerializeField]
public Image img_runeDi;
[SerializeField]
public Image img_zhenBg;
[SerializeField]
public Image img_zhen;
[SerializeField]
public Text tx_cornerMark_rt; //右上角标
[SerializeField]
private GameObject go_equiped;
[SerializeField]
public GameObject go_redPoint;
/// <summary>
/// 显示奖励道具
/// </summary>
public void SetItem_NotTips(RewardItemData rewardItem)
{
//SetItem(RewardUtil.ParseItemData(rewardItem), false);
}
/// <summary>
/// 显示奖励道具
/// </summary>
public void SetItem(RewardItemData rewardItem)
{
// SetItem(RewardUtil.ParseItemData(rewardItem));
}
/// <summary>
/// 显示奖励道具(带是否已领取)
/// </summary>
public void SetItem(RewardItemData rewardItem, bool isReward)
{
//SetItem(RewardUtil.ParseItemData(rewardItem));
go_line.SetActive(isReward);
}
/// <summary>
/// 显示奖励道具
/// </summary>
public void SetItem(ParseRewardItem rewItemData, bool isShowTips = true)
{
// if (isShowTips)
// EventClick(gameObject, (e) => UITool.OpenPropTips(rewItemData.itemId));
//
// RewardUtil.SetSprite_Quality_Prop(img_di, rewItemData.quality);
// //img_di.SetSprite_Quality_Prop((PropQuality)rewItemData.quality);
// //img_icon.SetSprite_Icon(rewItemData.icon);
// SetItemImgIcon(rewItemData.itemId);
// GlobalUtil.ShowSart(img_star, rewItemData.star);
// if (rewItemData.type == RewardType.Hero)
// tx_num.text = $"lv.1";
// else
// tx_num.text = $"x{GlobalUtil.SetFormatNum(rewItemData.count)}";
// tx_num.transform.parent.gameObject.SetActive(true);
//
// ShowClans(rewItemData.itemId);
}
// /// <summary>
// /// 显示道具--边框+icon+星数
// /// </summary>
// public void SetItem(int itemId)
// {
// SetItemImgIcon(itemId);
// RewardUtil.SetSprite_Quality_Prop(img_di, Game.backpack.GetQuality(itemId));
// //img_di.SetSprite_Quality_Prop(Game.backpack.GetQuality(itemId));
// tx_num.transform.parent.gameObject.SetActive(false);
// GlobalUtil.ShowSart(img_star, Game.backpack.GetStarByInt(itemId));
// }
/// <summary>
/// 背包显示 道具、装备、铭文、材料
/// </summary>
/// <param name="item"></param>
// public void SetItem_Backpack(BackpackItem item, bool isEquip = false)
// {
// SetItem(item);
// go_redPoint?.SetActive(false);
// switch (Game.backpack.GetCategoryI(item.itemId))
// {
// //符文显示数量1、已装备
// case (int)ItemType.Rune:
// tx_num.transform.parent.gameObject.SetActive(true);
// break;
// //碎片显示红点
// case (int)ItemType.Fragment:
// var cfg = Config_DebrisItem.GetItem(item.itemId);
// go_redPoint?.SetActive(RedPointUtils.GetDebrisShowRed(cfg, item.count));
// break;
// }
//
// this.go_equiped.SetActive(isEquip);
// }
/// <summary>
/// 显示道具
/// </summary>
/// <param name="item"></param>
public void SetItem(BackpackItem item)
{
// UIEvent.Get(gameObject).onClick = (e) => UITool.OpenTips_propId(item);
// img_icon.gameObject.SetActive(false);
// //img_icon.SetSprite_Icon(Game.backpack.GetIcon(item.propId));
// SetItemImgIcon(item.itemId);
// RewardUtil.SetSprite_Quality_Prop(img_di, Game.backpack.GetQuality(item.itemId));
// //img_di.SetSprite_Quality_Prop(Game.backpack.GetQuality(item.itemId));
// tx_num.SetText_Count(item.count);
// tx_num.transform.parent.gameObject.SetActive(true);
//
// GlobalUtil.ShowSart(img_star, Game.backpack.GetStarByInt(item.itemId));
//
// tx_cornerMark_rt.gameObject.SetActive(false);
// switch (Game.backpack.GetCategoryI(item.itemId))
// {
// case (int)ItemType.Rune:
// var runeItem = item as BackpackItem_Rune;
// var runeCfg = Config_RuneItem.GetItem(item.itemId);
// tx_num.transform.parent.gameObject.SetActive(false);
// tx_cornerMark_rt.gameObject.SetActive(runeItem.strengthen_level > 0);
// tx_cornerMark_rt.text = "+" + runeItem.strengthen_level;
// GlobalUtil.ShowSart(img_star, runeCfg.colour);
// break;
// }
// ShowClans(item.itemId);
}
/// <summary>
/// 显示奖励消耗
/// </summary>
public void SetItem_Consume(RewardItemData rewardItem)
{
// SetItem_Consume(RewardUtil.ParseItemData(rewardItem));
}
/// <summary>
/// 显示道具消耗
/// </summary>
public void SetItem_Consume(ParseRewardItem rewItemData)
{
//
// UIEvent.Get(gameObject).onClick = (e) => UITool.OpenPropTips(rewItemData.itemId);
RewardUtil.SetSprite_Quality_Prop(img_di, rewItemData.quality);
//img_di.SetSprite_Quality_Prop((PropQuality)rewItemData.quality);
//img_icon.SetSprite_Icon(rewItemData.icon);
// SetItemImgIcon(rewItemData.itemId);
GlobalUtil.ShowSart(img_star, rewItemData.star);
var backItem = Game.backpack.GetItem(rewItemData.itemId);
if (backItem == null)
SetItem_Count(0, rewItemData.count);
else
SetItem_Count(backItem.count, rewItemData.count);
// ShowClans(rewItemData.itemId);
}
/// <summary>
/// 显示金币消耗
/// 数量显示不同 cur/num
/// </summary>
public void SetItem_Money(int type, int count)
{
// var itemCfg = Config_FakeItem.GetItem(Config_Coin.GetItem_Safe(type).showItemId);
// UIEvent.Get(gameObject).onClick = (e) => UITool.OpenPropTips(itemCfg.itemId);
// RewardUtil.SetSprite_Quality_Prop(img_di, itemCfg.colour);
//img_di.SetSprite_Quality_Prop((PropQuality)itemCfg.colour);
//img_icon.SetSprite_Icon(itemCfg.img);
// SetItemImgIcon(itemCfg.itemId);
// GlobalUtil.ShowSart(img_star, 0);
//SetItem_Count(Game.token.GetTokenCount(type), count);
}
/// <summary>
/// 战斗内,显示奖励道具。
/// 有差异的规则:
/// 1非英雄类隐藏星级和等级显示。
/// 2不显示数量数量在其他ui显示。
/// </summary>
public void SetItem_Fight(ParseRewardItem rewItemData)
{
//UIEvent.Get(gameObject).onClick = (e) => UITool.OpenPropTips(rewItemData.itemId);
RewardUtil.SetSprite_Quality_Prop(img_di, rewItemData.quality);
//img_di.SetSprite_Quality_Prop((PropQuality)rewItemData.quality);
//img_icon.SetSprite_Icon(rewItemData.icon);
// SetItemImgIcon(rewItemData.itemId);
GlobalUtil.ShowSart(img_star, rewItemData.star);
if (rewItemData.type == RewardType.Hero)
{
tx_num.transform.parent.gameObject.SetActive(true);
tx_num.text = $"lv.1";
}
else
{
tx_num.transform.parent.gameObject.SetActive(false);
//tx_num.text = $"+{rewItemData.count}";
}
// ShowClans(rewItemData.itemId);
}
/// <summary>
/// 根据人物外观设置自己的人物Item
/// </summary>
/// <param name="rewItemData"></param>
public void SetHero(FashionData data)
{
// var heroCfg = ConfigBase_Hero_Monster.GetItem(data.tankTpId);
RewardUtil.SetSprite_Quality_Prop(img_di, data.tankColour);
if (go_fragmentItem != null)
go_fragmentItem.SetActive(false);
img_icon.gameObject.SetActive(true);
// SetItemImgIcon(heroCfg.item_icon);
// GlobalUtil.ShowSart(img_star, data.tankStar);
//if (rewItemData.type == RewardType.Hero)
//{
// tx_num.transform.parent.gameObject.SetActive(true);
// tx_num.text = $"lv.1";
//}
//else
//{
// tx_num.transform.parent.gameObject.SetActive(false);
//}
//ShowClans(rewItemData.itemId);
}
/// <summary>
/// 升级材料显示
/// </summary>
public void SetItem_UpLevel(int propId, int count, bool isRed)
{
img_icon.gameObject.SetActive(false);
//img_icon.SetSprite_Icon(Game.backpack.GetIcon(propId));
//SetItemImgIcon(propId);
// RewardUtil.SetSprite_Quality_Prop(img_di, Game.backpack.GetQuality(propId));
//img_di.SetSprite_Quality_Prop(Game.backpack.GetQuality(propId));
tx_num.SetText_Count(count);
if (isRed)
tx_num.color = new Color32(255, 70, 70, 255);
else
tx_num.color = new Color32(239, 224, 213, 255);
// UIEvent.Get(gameObject).onClick = (e) => UITool.OpenPropTips(propId);
tx_num.transform.parent.gameObject.SetActive(true);
// GlobalUtil.ShowSart(img_star, Game.backpack.GetStarByInt(propId));
}
/// <summary>
/// 材料Icon 显示
/// </summary>
// public void SetItem(ParseRewardItem item, int myCount, int count)
// {
// img_icon.gameObject.SetActive(false);
// //img_icon.SetSprite_Icon(item.icon);
// SetItemImgIcon(item.itemId);
// RewardUtil.SetSprite_Quality_Prop(img_di, item.quality);
// //img_di.SetSprite_Quality_Prop((PropQuality)item.quality);
//
// SetItem_Count(myCount, count);
//
// GlobalUtil.ShowSart(img_star, 0);
//
// ShowClans(item.itemId);
// }
void SetItem_Count(int myCount, int count)
{
tx_num.transform.parent.gameObject.SetActive(true);
if (myCount < count)
tx_num.text = $"<color=#FF4646>{GlobalUtil.SetFormatNum(myCount)}</color>/{GlobalUtil.SetFormatNum(count)}";
else
tx_num.text = $"{GlobalUtil.SetFormatNum(myCount)}/{GlobalUtil.SetFormatNum(count)}";
//tx_num.color = new Color32(255, 238, 145, 255);
tx_num.color = new Color32(239, 224, 213, 255);
}
// public void SetItemImgIcon(int id)
// {
// var icon = Game.backpack.GetIcon(id);
// var type = Game.backpack.GetType(id);
// var type2 = Game.backpack.GetCategoryII(id);
// if (go_fragmentItem != null)
// go_fragmentItem.SetActive(type == ItemType.Fragment);
// img_icon.gameObject.SetActive(type != ItemType.Fragment);
//
// if (img_runeDi != null)
// img_runeDi.gameObject.SetActive(type == ItemType.Rune);
// if (type == ItemType.Fragment)
// {
// if (go_fragmentItem != null)
// RewardUtil.SetSprite_Icon(go_fragmentItem.transform.Find("mask/icon").GetComponent<Image>(), icon);
// //go_fragmentItem.transform.Find("mask/icon").GetComponent<Image>().SetSprite_Icon(icon);
//
// ShowClans(id);
// }
// else
// {
// if (type == ItemType.Rune)
// {
// if (img_runeDi != null)
// {
// var tuple = BackpackConst.RuneItemDi[(ItemTypeII)type2];
// img_runeDi.transform.localEulerAngles = new Vector3(0, 0, tuple.Item1);
// img_runeDi.rectTransform.anchoredPosition = new Vector3(tuple.Item2, tuple.Item3, 0);
//
// var runeCfg = Config_RuneItem.GetItem(id);
// RewardUtil.SetSprite_Icon(img_runeDi, runeCfg.frame);
// }
//
// }
// RewardUtil.SetSprite_Icon(img_icon, icon);
// }
// }
/// <summary>
/// 编队Icon 显示
/// </summary>
// public void SetItem_Camp(FashionData data)
// {
// var cfg = ConfigBase_Hero_Monster.GetItem(data.tankTpId);
// var itemCfg = ConfigBase_Item.GetItem(cfg.item_icon);
// RewardUtil.SetSprite_Icon(img_icon, itemCfg.img);
// RewardUtil.SetSprite_Quality_Prop(img_di, data.tankColour);
// GlobalUtil.ShowSart(img_star, data.tankStar);
// tx_cornerMark_rt.gameObject.SetActive(true);
// tx_cornerMark_rt.text = string.Format("<color=#FFFFFF>{0}</color>", data.tankLv);
// go_fragmentItem.SetActive(false);
// }
// public void SetRune(int itemId, int strengthLevel)
// {
// var cfg = ConfigBase_Item.GetItem(itemId);
// SetItemImgIcon(itemId);
// RewardUtil.SetSprite_Quality_Prop(img_di, cfg.colour);
// GlobalUtil.ShowSart(img_star, strengthLevel);
// }
// public void ShowClans(int itemId)
// {
// img_zhen?.gameObject.SetActive(false);
// img_zhenBg?.gameObject.SetActive(false);
// if (img_zhen != null)
// switch (Game.backpack.GetCategoryI(itemId))
// {
// case (int)ItemType.Fragment:
// var cfg = Config_DebrisItem.GetItem(itemId);
// if (cfg.tankClans > 0)
// {
// RewardUtil.SetSprite_CardClans(img_zhen, cfg.tankClans);
// RewardUtil.SetSprite_CardClansBg(img_zhenBg, cfg.tankClans);
// img_zhen?.gameObject.SetActive(true);
// img_zhenBg?.gameObject.SetActive(true);
// }
// break;
// }
// }
}