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.
163 lines
5.3 KiB
163 lines
5.3 KiB
using TMPro;
|
|
using DG.Tweening;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using IVDataFormat;
|
|
|
|
public class EScrIcon : EScrCell
|
|
{
|
|
private RectTransform[] rtrfItems;
|
|
private Button[] btnBackground;
|
|
private Image[] imgIcon;
|
|
private RectTransform imgSelect;
|
|
private RectTransform rtrfBadge;
|
|
private RectTransform[] imgBadges;
|
|
private Image[] imgIsEquip;
|
|
private Image[] imgShadow;
|
|
private Color colShadow;
|
|
private nAchivement[] achives = new nAchivement[4];
|
|
|
|
public override void InitCell()
|
|
{
|
|
Transform trfself = transform;
|
|
int ilen = 4;
|
|
rtrfBadge = new RectTransform();
|
|
rtrfItems = new RectTransform[ilen];
|
|
imgBadges = new RectTransform[ilen];
|
|
imgSelect = new RectTransform();
|
|
imgIcon = new Image[ilen];
|
|
imgIsEquip = new Image[ilen];
|
|
btnBackground = new Button[ilen];
|
|
imgShadow = new Image[ilen];
|
|
colShadow = Color.black;
|
|
colShadow.a = 0.5f;
|
|
|
|
|
|
imgSelect = trfself.Find("select").GetComponent<RectTransform>();
|
|
rtrfBadge = trfself.Find("Badges").GetComponent<RectTransform>();
|
|
imgBadges[0] = rtrfBadge.Find("badge0").GetComponent<RectTransform>();
|
|
imgBadges[1] = rtrfBadge.Find("badge1").GetComponent<RectTransform>();
|
|
imgBadges[2] = rtrfBadge.Find("badge2").GetComponent<RectTransform>();
|
|
imgBadges[3] = rtrfBadge.Find("badge3").GetComponent<RectTransform>();
|
|
|
|
for (int i = 0; i< ilen; i++)
|
|
{
|
|
btnBackground[i] = trfself.GetChild(i).GetComponent<Button>();
|
|
rtrfItems[i] = btnBackground[i].GetComponent<RectTransform>();
|
|
imgIcon[i] = rtrfItems[i].Find("imgIcon").GetComponent<Image>();
|
|
imgIsEquip[i] = rtrfItems[i].Find("equip").GetComponent<Image>();
|
|
imgShadow[i] = rtrfItems[i].Find("imgShadow").GetComponent<Image>();
|
|
imgIsEquip[i].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("all_equiping");
|
|
}
|
|
}
|
|
|
|
public override void Localize()
|
|
{
|
|
int ilen = 4;
|
|
for (int i = 0; i < ilen; i++)
|
|
{
|
|
imgIsEquip[i].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("all_equiping");
|
|
}
|
|
}
|
|
|
|
|
|
public override void RefreshCellView()
|
|
{
|
|
base.RefreshCellView();
|
|
SetData(itemID);
|
|
}
|
|
|
|
public override void SetData(int itemid)
|
|
{
|
|
itemID = itemid;
|
|
|
|
for (int i = 0; i<rtrfItems.Length; i++)
|
|
{
|
|
// �� �Ҵ�
|
|
achives[i] = new nAchivement(DataHandler.GetPlayerIcon(itemID + i));
|
|
|
|
if (DataHandler.GetPlayerIcon(itemid + i) != null)
|
|
{
|
|
btnBackground[i].gameObject.SetActive(true);
|
|
imgIcon[i].sprite = AddressableMgr.GetPlayerIcon(i + itemid);
|
|
//�ر� ������ ���¸�
|
|
if(DataHandler.GetPlayerIcon(i + itemid).have)
|
|
{
|
|
imgShadow[i].gameObject.SetActive(false);
|
|
imgBadges[i].gameObject.SetActive(false);
|
|
}
|
|
else if (DataHandler.isClearAchievements(achives[i]) > 0 && !DataHandler.GetPlayerIcon(i + itemid).have)
|
|
{
|
|
imgShadow[i].gameObject.SetActive(true);
|
|
imgBadges[i].gameObject.SetActive(true);
|
|
unlockEffect();
|
|
}
|
|
else//if(!DataHandler.GetPlayerIcon(i + itemid).have)
|
|
{
|
|
imgShadow[i].gameObject.SetActive(true);
|
|
imgBadges[i].gameObject.SetActive(false);
|
|
unlockEffect();
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
btnBackground[i].gameObject.SetActive(false);
|
|
imgBadges[i].gameObject.SetActive(false);
|
|
}
|
|
|
|
}
|
|
|
|
initSelect();
|
|
initEquip();
|
|
}
|
|
|
|
public void btnSelectIcon(int idx)
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
ProfileMgr.SSetSelectIconNum(itemID + idx);
|
|
}
|
|
private void initSelect()
|
|
{
|
|
for (int i = 0; i < rtrfItems.Length; i++)
|
|
{
|
|
if (ProfileMgr.SGetSelectIconNum() == itemID + i)
|
|
{
|
|
imgSelect.gameObject.SetActive(true);
|
|
imgSelect.transform.position = imgIcon[i].transform.position;
|
|
ProfileMgr.SSetIconUi(itemID + i);
|
|
return;
|
|
}
|
|
else
|
|
imgSelect.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
public void initEquip()
|
|
{
|
|
for (int i = 0; i < rtrfItems.Length; i++)
|
|
{
|
|
if (DataHandler.PlayData.playerIcon == itemID + i)
|
|
{
|
|
imgIsEquip[i].gameObject.SetActive(true);
|
|
}
|
|
else
|
|
imgIsEquip[i].gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
public void unlockEffect()
|
|
{
|
|
for (int i = 0; i < 4; i++)
|
|
{
|
|
if (i < 4 && imgBadges[i].gameObject.activeSelf)
|
|
{
|
|
imgShadow[i].color = colShadow;
|
|
imgShadow[i].DOFade(0f, 0.5f).SetEase(Ease.Linear).SetLoops(-1, LoopType.Yoyo).Restart();
|
|
}
|
|
else
|
|
imgShadow[i].DOKill();
|
|
}
|
|
}
|
|
}
|