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 Text equippedTip; public EquipPanel equipPanel; public UAVPanel uavPanel; void Awake() { if (equippedTip != null) equippedTip.text = Language.GetStr ("EquipPanel", "equipped"); } 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; if(equippedTip != null) { if (equip.GetData ().equipType == EquipData.EquipType.Equip) equippedTip.enabled = equipPanel.IsEquiped (equip); else if (equip.GetData ().equipType == EquipData.EquipType.UAV) equippedTip.enabled = uavPanel.IsEquiped (equip); } } else { border.color = UpgradeUtil.GetCommonBorderColor (); icon.sprite = EquipData.GetUnknowIconSprite (); lvTxt.text = ""; countTxt.text = ""; countBarMask.fillAmount = 0; if(equippedTip != null) equippedTip.enabled = false; } } } public override bool selected { get { return base.selected; } set { base.selected = value; selectImg.enabled = value; } } public void EquipUpdated() { this.data = data; } public void OnClickEquip() { if(equipPanel != null) equipPanel.SelectEquip (this); if (uavPanel != null) uavPanel.SelectEquip (this); } public void OnClickEquiped() { if(equipPanel != null) equipPanel.SelectEquiped (this); } }