Beispiel #1
0
    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;
    }
Beispiel #2
0
    /// <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);
    }