Пример #1
0
    private void LoadLevelListContent(LevelConfig config, LevelConfig nextConfig, int i, int count)
    {
        ////设置星星数量
        //if(!XPlayerPrefs.HasKey(config.LevelId.ToString()+numStar))
        //{
        //    XPlayerPrefs.SetInt(config.LevelId.ToString() + numStar, 0);
        //}

        if (config.LevelType == 2)
        {
            return;
        }
        //新的主题
        if (curTheme != config.LevelTheme)
        {
            curTheme   = config.LevelTheme;
            curHeight += offsetMenu;
            menu       = ResMgr.LoadGameObject(menuPath);
            menu.transform.SetParent(LevelContent.transform);
            menu.transform.localPosition = Vector3.zero - new Vector3(0, curHeight, 0);
            menu.transform.localScale    = LevelContent.localScale;
            LoadMenu(menu, config.LevelTheme);
            themeCnt++;
            levelCnt = 0;
        }
        int cnt = levelCnt % 3;

        if (cnt == 0)
        {
            curHeight += offsetY;
        }
        levelBtn = ResMgr.LoadGameObject(levelBtnPath);
        levelBtn.transform.SetParent(LevelContent.transform);
        levelBtn.transform.localPosition = Vector3.zero - new Vector3((cnt - 1) * offsetX * -1, curHeight, 0);
        levelBtn.transform.localScale    = LevelContent.localScale;

        UILevelBtn UIBtn = levelBtn.GetComponent <UILevelBtn>();

        if (cnt == 1)
        {
            UIBtn.line.SetActive(true);
        }
        LoadLevelBtn(UIBtn, config.LevelId, config.LevelPicture.ToString(), levelCnt, themeCnt);
        UIBtn.setLevelID(config.LevelId);
        UIBtn.setThemeID(config.LevelTheme);
        //if (count > i + 1)
        //{
        //    UIBtn.setNextLevelID(config.LevelId+1);
        //    if (config.LevelTheme != nextConfig.LevelTheme)
        //        UIBtn.setNextThemeID(nextConfig.LevelTheme);
        //    else
        //        UIBtn.setNextThemeID(config.LevelTheme);
        //}
        //else
        //{
        //    UIBtn.setNextLevelID(0);
        //    UIBtn.setNextThemeID("null");
        //}
        levelCnt++;
    }
Пример #2
0
    private void RefreshLevelList()
    {
        SetScrollValue();
        SetTopText();
        int levelCnt = 0;
        int themeCnt = 0;

        for (int i = 0; i < LevelContent.gameObject.transform.childCount; i++)
        {
            if (LevelContent.gameObject.transform.GetChild(i).name == "menu(Clone)")
            {
                themeCnt++;
                levelCnt = 0;
            }
            if (LevelContent.gameObject.transform.GetChild(i).name == "UILevelBtn(Clone)")
            {
                UILevelBtn uibtn = LevelContent.gameObject.transform.GetChild(i).GetComponent <UILevelBtn>();
                if (levelCnt == 1)
                {
                    uibtn.line.SetActive(true);
                }
                LevelConfig config = LevelMgr.GetInstance().GetLevelConfig(uibtn.levelID).Config;
                LoadLevelBtn(uibtn, config.LevelId, config.LevelPicture.ToString(), levelCnt, themeCnt);
            }
        }
    }
Пример #3
0
    private void LoadLevelBtn(UILevelBtn uiLevelBtn, uint id, string picture, int levelCnt, int themeCnt)
    {
        //加载关卡名字,缩略图;
        //uiLevelBtn.levelText.text = themeCnt.ToString() + "-" + (levelCnt + 1).ToString();
        //string picname = "level_s";//string.Format("s_{0}", picture);
        string  altasname = AltasMgr.GetInstance().GetConfigByID(id).AltasName;
        UIAtlas ats       = UIAtlasUtil.GetAtlas(altasname);
        UIAtlas ats2      = UIAtlasUtil.GetAtlas("uncomplete");

        ats.Sp  = uiLevelBtn.levelImg;
        ats2.Sp = uiLevelBtn.levelImg;

        if (ats != null)
        {
            if (XPlayerPrefs.GetInt(id.ToString() + isCompleted) == 1)
            {
                ats.SetSprite("s_" + picture);//ats.SetSprite("p_"+picture);
                ats.Sp.rectTransform.localScale = Vector3.one;
                uiLevelBtn.star.SetActive(true);
                uiLevelBtn._new.SetActive(false);
                //uiLevelBtn.levelText.text = LevelMgr.GetInstance().GetLevelConfig(id).Config.LevelName;
                //uiLevelBtn.levelText.text = themeCnt.ToString() + "-" + (levelCnt + 1).ToString();
            }
            else if (XPlayerPrefs.GetInt(id.ToString() + isUnlock) == -1)
            {
                //Debug.Log("isunlock");
                ats2.SetSprite("unknown");
                ats.Sp.rectTransform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
                uiLevelBtn._new.SetActive(true);
                uiLevelBtn.star.SetActive(false);
                //uiLevelBtn.levelText.text = (levelCnt+1).ToString();
                //uiLevelBtn.levelText.text = "? ? ?";
            }
            else
            {
                uiLevelBtn.star.SetActive(false);
                uiLevelBtn._new.SetActive(false);
                uiLevelBtn.SetGray();
                //Debug.Log("islock");
                //未解锁
                ats2.SetSprite("lock");
                ats.Sp.rectTransform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
            }
        }

        #region starandlock
        ////加载星星
        //if (UnpackStarNum(XPlayerPrefs.GetInt(id.ToString() + numStar)) >= 1)
        //{
        //    int stars = UnpackStarNum(XPlayerPrefs.GetInt(id.ToString() + numStar));
        //    Debug.Log(stars);
        //    for (int i = 0; i < 3; i++)
        //    {
        //        UIAtlas starAts = ResMgr.GetAtlas("levelStar");
        //        starAts.Sp = uiLevelBtn.stars[i];

        //        if (i < stars)
        //        {
        //            starAts.SetSprite("guanqiaxuanzexing1");
        //        }
        //        else
        //        {
        //            starAts.SetSprite("guanqiaxuanzexing2");
        //        }
        //    }
        //}
        //else
        //{
        //    for (int i = 0; i < 3; i++)
        //    {
        //        uiLevelBtn.stars[i].color = new Color(255, 255, 255, 0);
        //    }
        //}


        ////设置解锁状态;
        //UIAtlas unlockAts = ResMgr.GetAtlas("unlock");
        //unlockAts.Sp = uiLevelBtn.unlockBtn;
        //switch (LevelMgr.GetInstance().GetLevelConfig(id).Config.LevelUnlock)
        //{
        //    case 0:
        //        XPlayerPrefs.SetInt(id.ToString() + isUnlock, -1);
        //        Destroy(uiLevelBtn.unlockBtn.gameObject);
        //        break;
        //    case 1:
        //        if(XPlayerPrefs.GetInt(id.ToString()+isUnlock)==-1)
        //        {
        //            Destroy(uiLevelBtn.unlockBtn.gameObject);
        //            break;
        //        }
        //        XPlayerPrefs.SetInt(id.ToString() + isUnlock, 1);
        //        unlockAts.SetSprite("guanggao");
        //        break;
        //    case 2:
        //        if (XPlayerPrefs.GetInt(id.ToString() + isUnlock) == -1)
        //        {
        //            Destroy(uiLevelBtn.unlockBtn.gameObject);
        //            break;
        //        }
        //        XPlayerPrefs.SetInt(id.ToString() + isUnlock, 2);
        //        unlockAts.SetSprite("zuanshi");
        //        break;
        //}
        #endregion
    }