97 lines
2.2 KiB
C#
97 lines
2.2 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|