public void Init(EvolutionBase evolution, System.Action action) { transform.localPosition = Vector3.zero; transform.localScale = Vector3.one; m_NameTxt.text = evolution.Name; m_DesTxt.text = evolution.Des; m_CoinImg.sprite = Tools.LoadSprite(Consts.Texture_Diamond); m_CoinTxt.text = evolution.Payment.ToString(); foreach (GameObject go in m_LevelGoList) { ObjectManager.Instance.ReleaseObject(go); } m_LevelGoList.Clear(); int level = ModelManager.Instance.EvolutionLevelDict[evolution.Id]; for (int i = 0; i < evolution.MaxLevel; i++) { GameObject itemGo = ObjectManager.Instance.InstantiateObject(Consts.UI_GridItem); if (i < level) { itemGo.GetComponentInChildren <Image>().color = Color.black; } itemGo.transform.SetParent(m_LevelGrid); itemGo.GetComponent <GridItem>().Init(); m_LevelGoList.Add(itemGo); } m_Action = action; }
/// <summary> /// 进化项升级 /// </summary> public bool LevelUpEvolution(EvolutionBase evolution) { int level = 0; if (EvolutionLevelDict.TryGetValue(evolution.Id, out level)) { if (level < evolution.MaxLevel) { EvolutionLevelDict[evolution.Id]++; } else { return(false); } } else { EvolutionLevelDict.Add(evolution.Id, level); } return(true); }