using UnityEngine; using UnityEngine.UI; using System.Collections; public class EquipIcon : SelectItemRenderer { public Image icon; public Image border; public Text lvTxt; public Image countBarMask; public Text countTxt; public Image countBarFull; public Image selectImg; public EquipPanel equipPanel; void Awake() { } void OnDestroy() { if (data != null) { (data as Equipment).Updated.RemoveListener (EquipUpdated); } } public override object data { get { return base.data; } set { OnDestroy (); base.data = value; selected = selected; Equipment equip = value as Equipment; if (equip != null) { equip.Updated.AddListener (EquipUpdated); border.color = equip.GetData ().GetBorderColor (); icon.sprite = equip.GetData ().GetIconSprite (); lvTxt.color = equip.GetData ().GetTextColor (); lvTxt.text = equip.GetLevelLabel (); int count = equip.GetCount (); int max = equip.GetNextLevelCount (); float percent = (float)count / (float)max; countBarMask.fillAmount = percent; countBarFull.enabled = percent >= 1f; countTxt.text = "" + count + "/" + max; } else { border.color = UpgradeUtil.GetCommonBorderColor (); icon.sprite = EquipData.GetUnknowIconSprite (); lvTxt.text = ""; countTxt.text = ""; countBarMask.fillAmount = 0; } } } public override bool selected { get { return base.selected; } set { base.selected = value; selectImg.enabled = value; } } public void EquipUpdated() { this.data = data; } public void OnClickEquip() { equipPanel.SelectEquip (this); } public void OnClickEquiped() { equipPanel.SelectEquiped (this); } }