You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
239 lines
8.4 KiB
239 lines
8.4 KiB
using IVDataFormat;
|
|
using System.Numerics;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class GoodsEfcItem : GoodsItem
|
|
{
|
|
static readonly int _rarityParam = Animator.StringToHash("Rarity");
|
|
|
|
[SerializeField] private Animator rarityEffectAnimator;
|
|
|
|
protected override void Init()
|
|
{
|
|
imgBg = GetComponent<Image>();
|
|
imgIcon = transform.Find("icon").GetComponent<Image>();
|
|
imgRarity = transform.Find("rarity").GetComponent<Image>();
|
|
imgStars = transform.Find("stars").GetComponentsInChildren<Image>();
|
|
txtRarity = transform.Find("txtRarity").GetComponent<TextMeshProUGUI>();
|
|
txtCount = transform.Find("txtCount").GetComponent<TextMeshProUGUI>();
|
|
}
|
|
|
|
public override void SetGoods(int itype, int icode, BigInteger icount, bool bpvp = false)
|
|
{
|
|
if (imgIcon == null)
|
|
Init();
|
|
imgIcon.sprite = AddressableMgr.GetIcon(itype, icode);
|
|
|
|
rarityEffectAnimator?.SetInteger(_rarityParam, 0);
|
|
|
|
switch (itype)
|
|
{
|
|
case cGoods.TCurrency:
|
|
case cGoods.TExp:
|
|
case cGoods.TBagTreasure:
|
|
imgIcon.enabled = true;
|
|
//imgBg.color = new Color(1f, 1f, 1f);
|
|
imgBg.sprite = AddressableMgr.GetGradeIcon(8);// Global.CLR_RarityBack[];
|
|
imgRarity.enabled = false;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.enabled = false;
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
break;
|
|
|
|
case cGoods.TBagWeapon:
|
|
case cGoods.TBagArmorCape:
|
|
case cGoods.TBagArmorHat:
|
|
case cGoods.TBagArmorShoes:
|
|
case cGoods.TBagAcceEar:
|
|
case cGoods.TBagAcceNeck:
|
|
case cGoods.TBagAcceRing:
|
|
dGear gear = DataHandler.GetGearEquip(itype, icode);
|
|
imgIcon.enabled = true;
|
|
imgRarity.enabled = true;
|
|
for (int i = 0; i < imgStars.Length; ++i)
|
|
imgStars[i].enabled = i < gear.grade;
|
|
txtRarity.text = Global.STR_Rarity[gear.rarity];
|
|
txtRarity.enabled = true;
|
|
rarityEffectAnimator?.SetInteger(_rarityParam, gear.rarity);
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
imgBg.sprite = AddressableMgr.GetGradeIcon(gear.rarity);
|
|
imgRarity.sprite = AddressableMgr.GetGradeLatterIcon(gear.rarity);
|
|
|
|
break;
|
|
|
|
case cGoods.TPet:
|
|
int ipetrarity = DataHandler.GetPetRarity(icode);
|
|
imgBg.color = Global.CLR_RarityBack[ipetrarity];
|
|
imgRarity.color = Global.CLR_RarityFront[ipetrarity];
|
|
imgRarity.enabled = true;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.text = Global.STR_Rarity[ipetrarity];
|
|
txtRarity.enabled = true;
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
break;
|
|
|
|
case cGoods.TPetSpirit:
|
|
imgIcon.enabled = true;
|
|
if (icode < 0)
|
|
{
|
|
imgBg.color = Global.CLR_BackPetSpirit;
|
|
imgRarity.enabled = false;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
int ispiritrarity = DataHandler.GetPetRarity(icode);
|
|
imgBg.color = Global.CLR_RarityBack[ispiritrarity];
|
|
imgRarity.color = Global.CLR_RarityFront[ispiritrarity];
|
|
imgRarity.enabled = true;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.text = Global.STR_Rarity[ispiritrarity];
|
|
txtRarity.enabled = true;
|
|
}
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
break;
|
|
|
|
case cGoods.TSkillActive:
|
|
case cGoods.TSkillPassive:
|
|
imgIcon.enabled = true;
|
|
int iskillrarity = DataHandler.GetSkillRarity(itype, icode);
|
|
imgBg.color = Global.CLR_RarityBack[iskillrarity];
|
|
imgRarity.color = Global.CLR_RarityFront[iskillrarity];
|
|
imgRarity.enabled = true;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.text = Global.STR_Rarity[iskillrarity];
|
|
txtRarity.enabled = true;
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
break;
|
|
|
|
case cGoods.TCosCloth:
|
|
case cGoods.TCosWeapon:
|
|
imgIcon.enabled = true;
|
|
//imgBg.color = Global.CLR_BackCos;
|
|
imgRarity.enabled = false;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.enabled = false;
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
break;
|
|
|
|
case cGoods.TBox:
|
|
dBox box = DataHandler.SysBoxes[icode];
|
|
imgIcon.enabled = true;
|
|
imgBg.color = Global.CLR_RarityBack[box.rarity];
|
|
// 희귀도 없음.
|
|
if (box.rarity <= cGoods.RNone)
|
|
{
|
|
imgRarity.enabled = false;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
imgRarity.color = Global.CLR_RarityFront[box.rarity];
|
|
imgRarity.enabled = true;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = i < box.grade;
|
|
txtRarity.text = Global.STR_Rarity[box.rarity];
|
|
txtRarity.enabled = true;
|
|
rarityEffectAnimator?.SetInteger(_rarityParam, box.rarity);
|
|
}
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
break;
|
|
|
|
default:
|
|
imgIcon.enabled = true;
|
|
//imgBg.color = Global.CLR_RarityBack[cGoods.RNone];
|
|
imgRarity.enabled = false;
|
|
for (int i = 0; i < imgStars.Length; i++)
|
|
imgStars[i].enabled = false;
|
|
txtRarity.enabled = false;
|
|
|
|
if (icount == 1)
|
|
{
|
|
txtCount.enabled = false;
|
|
}
|
|
else
|
|
{
|
|
txtCount.enabled = true;
|
|
txtCount.text = icount.ToString();
|
|
}
|
|
break;
|
|
}
|
|
|
|
if (bpvp)
|
|
imgBg.color = Color.clear;
|
|
}
|
|
}
|