Files
JJBB/Assets/Project/Script/GUI/Other/BufferItem.cs

97 lines
2.2 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Games.ImpactModle;
using UnityEngine.UI;
using GCGame.Table;
public class BufferItem : UIItemSelect {
private Tab_Impact buffInfo;
public Tab_Impact BuffInfo
{
get
{
return buffInfo;
}
}
public Text desc; // buffer描述
public Image buffIcon; // buffer图标
public Text buffName; // buffer名称
public GameObject mask; // 灰色蒙版
public GameObject hasBuffer; // 有Buff显示的内容节点
public GameObject noBuffer; // 没Buff显示的内容节点
public override void Show(Hashtable hash)
{
if(hash != null)
{
int buffId = (int)hash["Info"];
Tab_Impact tempBuffInfo = TableManager.GetImpactByID(buffId, 0);
buffInfo = tempBuffInfo;
}
else
{
buffInfo = null;
}
this._InitInfo = buffInfo;
InitInfo(buffInfo);
}
private void InitInfo(Tab_Impact info)
{
if(info != null && info.ImpactID != -1)
{
if(hasBuffer != null)
{
hasBuffer.SetActive(true);
}
if (noBuffer != null)
{
noBuffer.SetActive(false);
}
if (desc != null)
{
desc.text = info.Instruction;
}
if(buffName != null)
{
buffName.text = info.Name;
}
LoadAssetBundle.Instance.SetImageSprite(buffIcon, info.BuffIcon);
}
else
{
if (hasBuffer != null)
{
hasBuffer.SetActive(false);
}
if (noBuffer != null)
{
noBuffer.SetActive(true);
}
}
}
public void SetMask(bool state)
{
if (mask != null)
{
if (mask.activeSelf != state)
{
mask.SetActive(state);
}
if(state == true)
{
UnSelected();
}
}
}
}