using UnityEngine; using UnityEngine.UI; using System.Collections; using Games.Item; using GCGame.Table; using GCGame; public class HeartItem : MonoBehaviour { public GameObject BackOnSel; public GameObject SelectObj; public Text Name; public Text Add; public Text Cost; public GameObject Up; public GameObject EffectObj; public void InitData(Tab_HeartAttr heart) { int heartLevel = MeridiaSoulData.Instance.GetHeartLevel(heart.Id); int HeartLevelID = heart.Id * 1000000 + MeridiaSoulData.Instance.HeartClass * 1000 + heartLevel; Tab_HeartLevel HeartLevelTab = TableManager.GetHeartLevelByID(HeartLevelID, 0); if (HeartLevelTab == null) return; Tab_HeartLevel HeartLevelTabNext = TableManager.GetHeartLevelByID(HeartLevelID + 1, 0); int count = HeartSoul.GetLearnMaxLevel(heart.Id); Name.text = string.Format("{0}({1}/{2})", heart.Name, heartLevel, count); if (HeartLevelTabNext != null) { Add.text = string.Format("+{0}{1}", HeartLevelTabNext.AttrValue1, PropID.GetAttrName((PropID.PropertyID)HeartLevelTabNext.AttrId1)); } else Add.text = string.Format("+{0}{1}", HeartLevelTab.AttrValue1, PropID.GetAttrName((PropID.PropertyID)HeartLevelTab.AttrId1)); Up.SetActive(HeartLevelTab.LevelSoulCount <= MeridiaSoulData.Instance.HeartCount && heartLevel < count); if(MeridiaSoulData.Instance.HeartCount >= HeartLevelTab.LevelSoulCount) { Cost.text = string.Format("{0}", StrDictionary.GetClientDictionaryString("#{47411}", HeartLevelTab.LevelSoulCount)); } else { Cost.text = string.Format("{0}", StrDictionary.GetClientDictionaryString("#{47411}", HeartLevelTab.LevelSoulCount)); } EffectObj.SetActive(heartLevel == count); } public void OnSelect(bool state) { BackOnSel.SetActive(!state); SelectObj.SetActive(state); } }