128 lines
4.3 KiB
C#
128 lines
4.3 KiB
C#
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|