2025-06-07 17:43:34 +08:00

407 lines
14 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//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;
// }
// }
}