JJBB/Assets/Project/Script/GUI/Advance/AdvanceFashionItem.cs

128 lines
4.3 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using GCGame.Table;
using UnityEngine.UI;
public class AdvanceFashionItem : MonoBehaviour {
public Image itemIcon;
public Image markIcon;
public Text itemName;
public GameObject activiteObj;
public GameObject notActiviteObj;
public GameObject usingObj;
public Image itemQuality;
public Image doubles;
public AdvanceFashionPanelCtr.AdvanceFashionType fashionItemType;
public int advanceFashionId = -1; //对应的时装ID
private int itemId; //对应可以激活时装的物品ID
private int getPathId; //对应可获取途径描述Id
private bool isOwn; //是否拥有
private bool isUsing; //是否正在穿戴
private int remainTime = -1; //时装剩余时间
private int curIndex;
public void InitItem(int id, int type, int index)
{
curIndex = index;
advanceFashionId = id; //传递之后会做判断,这边不区分是哪个表
fashionItemType = (AdvanceFashionPanelCtr.AdvanceFashionType)type;
// 新增双人坐骑相关------------------------------------------------------
Tab_AdvanceFashion m_advanceFashion = TableManager.GetAdvanceFashionByID(id, 0);
if (m_advanceFashion != null)
{
Tab_MountBase mountBases = TableManager.GetMountBaseByID(m_advanceFashion.ModelId, 0);
if (doubles)
doubles.gameObject.SetActive(mountBases != null ? mountBases.DoubleRiding == 1 : false); //判断双人坐骑
}
else
{
doubles.gameObject.SetActive(false);
}
//-----------------------------------------------------------------------
switch (type)
{
case (int)AdvanceFashionPanelCtr.AdvanceFashionType.Advance:
Tab_AdvanceBase advanceBase = TableManager.GetAdvanceBaseByID(id, 0);
if (advanceBase == null)
{
return;
}
LoadAssetBundle.Instance.SetImageSprite(itemIcon, advanceBase.Icon);
LoadAssetBundle.Instance.SetImageSprite(itemQuality, GCGame.Utils.GetItemQualityFrame(advanceBase.Quality));
itemName.text = advanceBase.Name;
//remainTime = 0; //进阶坐骑设置为永久
break;
case (int)AdvanceFashionPanelCtr.AdvanceFashionType.Fashion:
Tab_AdvanceFashion advanceFashion = TableManager.GetAdvanceFashionByID(id, 0);
if(advanceFashion == null)
{
return;
}
itemId = advanceFashion.ItemId;
LoadAssetBundle.Instance.SetImageSprite(itemIcon, advanceFashion.Icon);
itemName.text = advanceFashion.Name;
getPathId = advanceFashion.ItemId;
break;
}
}
public void ShowActiviteIcon(bool isAcivite)
{
isOwn = isAcivite;
if (isAcivite)
{
activiteObj.SetActive(true);
notActiviteObj.SetActive(false);
}
else
{
activiteObj.SetActive(false);
notActiviteObj.SetActive(true);
}
if(fashionItemType == AdvanceFashionPanelCtr.AdvanceFashionType.Advance)
{
if (isAcivite)
remainTime = 0;
else
remainTime = -1;
}
}
public void ShowUsingIcon(bool isShow)
{
usingObj.SetActive(isShow);
isUsing = isShow;
}
public void SetRemainTime(int time)
{
remainTime = time;
isOwn = (time >= 0 ? true : false); // 0永久
}
public void ShowMarkIcon(bool isShow)
{
markIcon.gameObject.SetActive(isShow);
}
public void OnItemClick()
{
//分类 坐骑 神兵 暗器 翅膀
if (AdvanceMountPanelCtr.Instance && AdvanceMountPanelCtr.Instance.fashionPanel.gameObject.activeInHierarchy)
{
AdvanceMountPanelCtr.Instance.fashionPanel.OnItemClick(advanceFashionId, (int)fashionItemType);
AdvanceMountPanelCtr.Instance.fashionPanel.InitUsingBtnState(isUsing, isOwn, remainTime, (int)fashionItemType, itemId, getPathId);
AdvanceMountPanelCtr.Instance.fashionPanel.SetFashionItemMarkIcon((int)fashionItemType, curIndex);
}
}
}