Esempio n. 1
0
        private void Level1_1ToLevel1_3Stage()
        {
            LevelVo level1_1 = GlobalData.LevelModel.FindLevel("1-1");
            LevelVo level1_2 = GlobalData.LevelModel.FindLevel("1-2");
            LevelVo level1_3 = GlobalData.LevelModel.FindLevel("1-3");

            if (!level1_1.IsPass)
            {
                SetNpcHint(true, I18NManager.Get("Guide_MainLine1_1_Star"));
                OnClickLevel("1-1");
            }
            else if (!level1_2.IsPass)
            {
                GuideManager.SetPassLevelStep("1-1");
                SetNpcHint(true, I18NManager.Get("Guide_MainLine1_2_Star"));
                OnClickLevel("1-2");
            }
            else if (!level1_3.IsPass)
            {
                GuideManager.SetPassLevelStep("1-2");
                OnClickLevel("1-3");
            }
            else if (level1_3.IsPass)
            {
                GuideManager.SetPassLevelStep("1-3");
                Level1_3End();
            }
        }
Esempio n. 2
0
        public void SetGoodsData(LevelVo data)
        {
            var itemPref         = GetPrefab("Battle/Prefabs/SupportItem");
            var supportContainer = transform.Find("Container/SupportContainer");
            var index            = 0;



            foreach (var item in data.ItemMax)
            {
                var itemObj = Instantiate(itemPref) as GameObject;
                if (itemObj == null)
                {
                    continue;
                }
                itemObj.transform.SetParent(supportContainer, false);

                UserPropVo propVo = GlobalData.PropModel.GetUserProp(item.Key);

                ItemPB itemPb = GlobalData.PropModel.GetPropBase(item.Key);

                int useNum = propVo.Num > item.Value ? item.Value : propVo.Num;

                var    supportItem = itemObj.AddComponent <SupportItem>();
                string iconPath    = GlobalData.PropModel.GetPropPath(item.Key);;
                supportItem.SetData(itemPb, useNum, item.Value, iconPath);
                supportItem.GetComponent <ItemShowEffect>().OnShowEffect(index * 0.2f);

                index++;
            }
            SumGoodsPower();
        }
Esempio n. 3
0
        private void Level2_4ToLevel2_9Stage()
        {
            var     levelModel = GlobalData.LevelModel;
            LevelVo level2_4   = levelModel.FindLevel("2-4");
            LevelVo level2_5   = levelModel.FindLevel("2-5");
            LevelVo level2_6   = levelModel.FindLevel("2-6");
            LevelVo level2_7   = levelModel.FindLevel("2-7");
            LevelVo level2_8   = levelModel.FindLevel("2-8");
            LevelVo level2_9   = levelModel.FindLevel("2-9");

            if (!level2_4.IsPass)
            {
                OnClickLevel("2-4");
            }
            else if (!level2_5.IsPass)
            {
                OnClickLevel("2-5");
            }
            else if (!level2_6.IsPass)
            {
                OnClickLevel("2-6");
            }
            else if (!level2_7.IsPass)
            {
                OnClickLevel("2-7");
            }
            else if (!level2_8.IsPass)
            {
                OnClickLevel("2-8");
            }
            else if (!level2_9.IsPass)
            {
                OnClickLevel("2-9");
            }
        }
Esempio n. 4
0
        public void ShowSuperStar(LevelVo levelVo)
        {
            gameObject.Show();

            Transform view = transform.Find("SuperStar");

            view.gameObject.Show();

            Transform guideView1 = transform.Find("SuperStar/GuideView1");

            guideView1.gameObject.Show();

            Text text = transform.GetText("SuperStar/GuideView1/DialogFrame/Text");

            text.text = I18NManager.Get("Guide_Battle2_new");

            Transform needStrengthText = transform.Find("SuperStar/BgTop/NeedStrengthText");

            needStrengthText.gameObject.Show();

            GuideArrow.DoAnimation(needStrengthText);

            PointerClickListener.Get(gameObject).onClick = go =>
            {
                PointerClickListener.Get(gameObject).onClick = null;
                ClientTimer.Instance.DelayCall(() =>
                {
                    PickCard();
                    guideView1.gameObject.Hide();
                    needStrengthText.gameObject.Hide();
                }, 0.2f);
            };
        }
Esempio n. 5
0
    public void UpdateMyLevel(UserLevelPB myLevelPb)
    {
        LevelVo level = GetLevelInfo(myLevelPb.LevelId);

        level.BuyCount       = myLevelPb.BuyCount;
        level.ChallangeTimes = myLevelPb.Count;
    }
Esempio n. 6
0
    public void JudgeChaptersOpen()
    {
        for (int i = 0; i < ChapterList.Count; i++)
        {
            ChapterVo chapter = ChapterList[i];
//            int firstLevelId = chapter.LevelList[0].LevelId;
//            int beforeLevelId = GetLevelInfo(firstLevelId).BeforeLevelId;

            LevelVo firstLevel    = chapter.LevelList[0];
            int     beforeLevelId = firstLevel.BeforeLevelId;

            if (beforeLevelId == 0)
            {
                _firstNormalLevel    = firstLevel;
                chapter.IsNormalOpen = true;
            }
            else
            {
                //找到章节第一关卡的上一个关卡是否通过
                LevelVo level = GetLevelInfo(beforeLevelId);
                chapter.IsNormalOpen = level.IsPass;
            }
        }

//        //精英关卡开放逻辑
//        for (int i = 0; i < ChapterList.Count; i++)
//        {
//            ChapterVo chapter = ChapterList[i];
//            int firstLevelId = chapter.HardLevelList[0].LevelId;
//            int beforeLevelId = GetLevelInfo(firstLevelId).BeforeLevelId;
//            if (beforeLevelId == 0)
//            {
//                _firstHardLevel = GetLevelInfo(firstLevelId);
//                if (chapter.LevelList[chapter.LevelList.Count - 1].IsPass)
//                {
//                    chapter.IsHardOpen = true;
//                }
//            }
//            else
//            {
//                //找到章节第一个关卡的上一个关卡是否通过
//                //判断普通的这一章是否通关
//                if (chapter.ChapterId - 1 >= 0)
//                {
//                    ChapterVo thisChapter = ChapterList[chapter.ChapterId - 1];
//                    if (thisChapter.LevelList[thisChapter.LevelList.Count - 1].IsPass == false)
//                    {
//                        chapter.IsHardOpen = false;
//                        continue;
//                    }
//                }
//
//                chapter.IsHardOpen = GetLevelInfo(beforeLevelId).IsPass;
//            }
//        }

        NewNormalLevel = GetNewLevel(_firstNormalLevel);
//        NewHardLevel = GetNewLevel(_firstHardLevel);
    }
Esempio n. 7
0
    private void OnCalendarItemClick(GameObject go)
    {
        LevelVo data = go.GetComponent <CalendarItem>().LevelVo;

        if (data.LevelType == LevelTypePB.Value)
        {
            SendMessage(new Message(MessageConst.MODULE_MAINLINE_SHOW_BATTLE_VIEW, Message.MessageReciverType.DEFAULT,
                                    data));
        }
        else
        {
            if (IsNeedDownload(_currentChapterId)) //是否需要下载
            {
                if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
                {
                    CacheManager.DownloadChapterCache(_currentChapterId, str =>
                    {
                        Debug.LogError(str);
                        _download.gameObject.Hide();
                        SendMessage(new Message(MessageConst.MODULE_MAINLINE_SHOW_STORY_VIEW,
                                                Message.MessageReciverType.DEFAULT, data));
                    });
                }
                else
                {
                    var isHasKey = PlayerPrefs.HasKey("ChapterId" + _currentChapterId);
                    if (isHasKey)
                    {
                        SendMessage(new Message(MessageConst.MODULE_MAINLINE_SHOW_STORY_VIEW,
                                                Message.MessageReciverType.DEFAULT, data));
                    }
                    else
                    {
                        string content = I18NManager.Get("Download_MainStory1",
                                                         (Math.Round(GetAudioSize(_currentChapterId) * 1f / 1048576f, 2)));
                        CacheManager.ConfirmNeedToDownloadChapterAudio(content, I18NManager.Get("Common_OK1"),
                                                                       I18NManager.Get("Download_JumpDownload"), _currentChapterId,
                                                                       (s =>
                        {
                            SendMessage(new Message(MessageConst.MODULE_MAINLINE_SHOW_STORY_VIEW,
                                                    Message.MessageReciverType.DEFAULT, data));
                        }), (() =>
                        {
                            string key = "ChapterId" + _currentChapterId;
                            var value = key;
                            PlayerPrefs.SetString(key, value);
                            SendMessage(new Message(MessageConst.MODULE_MAINLINE_SHOW_STORY_VIEW,
                                                    Message.MessageReciverType.DEFAULT, data));
                        }));
                    }
                }
            }
            else
            {
                SendMessage(new Message(MessageConst.MODULE_MAINLINE_SHOW_STORY_VIEW,
                                        Message.MessageReciverType.DEFAULT, data));
            }
        }
    }
Esempio n. 8
0
    public LevelVo GetNextLevelInfo(LevelVo vo)
    {
        if (LevelDict.ContainsKey(vo.AfterLevelId))
        {
            return(LevelDict[vo.AfterLevelId]);
        }

        return(null);
    }
Esempio n. 9
0
    public void ShowStoryGuide()
    {
        LevelVo level = GlobalData.LevelModel.FindLevel("3-3");

        if (level != null && !level.IsPass)
        {
            CreatePanel(new StoryGuidePanel());
        }
    }
Esempio n. 10
0
    public LevelVo GetPrevLevelInfo(LevelVo vo)
    {
        if (LevelDict.ContainsKey(vo.BeforeLevelId))
        {
            return(LevelDict[vo.BeforeLevelId]);
        }

        return(null);
    }
Esempio n. 11
0
        public override void OnMessage(Message message)
        {
            string name = message.Name;

            object[] body = message.Params;
            switch (name)
            {
            case MessageConst.TO_GUIDE_BATTLE_RESULT:
                ChallengeRes res   = (ChallengeRes)body[0];
                LevelVo      level = (LevelVo)body[1];
                HandelBattleResult(res, level);
                break;
            }
        }
Esempio n. 12
0
        private void HandelBattleResult(ChallengeRes res, LevelVo level)
        {
            if (res != null && level != null)
            {
                GuideManager.SetPassLevelStep(level.LevelName);
            }

            if (level == null)
            {
                return;
            }

            if (level.LevelId == 103)
            {
                GuideManager.SetStatisticsRemoteGuideStep(GuideConst.MainLineStep_Stroy1_3_Over_Get_First_Card);
                var            list = GuideManager.GetGuideAwardsToRule(GuideTypePB.MainGuide);
                List <AwardPB> temp = new  List <AwardPB>();

                foreach (var t in list)
                {
                    if (t.Resource == ResourcePB.Card)
                    {
                        temp.Add(t);
                        break;
                    }
                }

                Action finish = () =>
                {
                    SendMessage(new Message(MessageConst.CMD_MIANLINE_GUIDE_SHOW_TOPBAR_AND_BACKBTN, Message.MessageReciverType.UnvarnishedTransmission, true));
                };

                ModuleManager.Instance.EnterModule(ModuleConfig.MODULE_DRAWCARD,
                                                   false, false, "DrawCard_CardShow", temp, finish, false);

                ClientTimer.Instance.DelayCall(() =>
                {
                    ModuleManager.Instance.Remove(ModuleConfig.MODULE_STORY);
                    SendMessage(new Message(MessageConst.CMD_MIANLINE_GUIDE_SHOW_TOPBAR_AND_BACKBTN, Message.MessageReciverType.UnvarnishedTransmission, false));
                }, 0.2f);
            }
            else if (level.LevelId == 109 && level.IsPass == false)
            {
                //第一次通关1-9
                GuideManager.TempState = TempState.Pass_Level1_9;
            }
        }
Esempio n. 13
0
        private void Step2()
        {
            _battleIntroductionPopup.gameObject.Show();
            SetNpcHint(true, I18NManager.Get("Guide_MainLine2"));
            var startWorkBtn = _battleIntroductionPopup.Find("BtnContainer/StartWorkBtn");

            startWorkBtn.gameObject.Show();
            GuideArrow.DoAnimation(startWorkBtn);
            PointerClickListener.Get(startWorkBtn.gameObject)
            .onClick = go =>
            {
                GuideManager.SetStatisticsRemoteGuideStep(GuideConst.MainLineStep_OnClick_Battle1_4_StarBtn);
                LevelVo vo = GlobalData.LevelModel.FindLevel("1-4");
                EventDispatcher.TriggerEvent(EventConst.EnterBattle, 0, vo);
                PopupManager.CloseLastWindow();
            };
        }
Esempio n. 14
0
    private void BuyLevelCount(LevelVo levelVo)
    {
        LoadingOverlay.Instance.Show();
        BuyCountReq req = new BuyCountReq
        {
            LevelId = levelVo.LevelId
        };

        byte[] data = NetWorkManager.GetByteData(req);
        NetWorkManager.Instance.Send <BuyCountRes>(CMD.CAREERC_BUY_COUNT, data, res =>
        {
            LoadingOverlay.Instance.Hide();
            GlobalData.PlayerModel.UpdateUserMoney(res.UserMoney);
            _model.UpdateMyLevel(res.UserLevel);
            _battleIntroductionPopup.Refresh();
            FlowText.ShowMessage(I18NManager.Get("MainLine_Hint2"));
        });
    }
Esempio n. 15
0
    public void SetData(CapsuleBattleResultData data, LevelVo level)
    {
        var commentContainer           = transform.Find("Bg/CommentContainer");
        List <LevelCommentRulePB> list = data.GetRandomComments(data.Star);

        for (int i = 0; i < list.Count; i++)
        {
            var item = InstantiatePrefab("Battle/FinalEstimate/CommentItem");
            item.transform.SetParent(commentContainer, false);
            CommentItem comment = item.GetComponent <CommentItem>();
            comment.SetData(list[i]);
        }

        //   transform.Find("StarAndGrade/Text").GetComponent<Text>().text = "应援热度:<b> " + data.Cap + "</b>";
        transform.Find("Bg/StarAndGrade/Text/Text").GetComponent <Text>().text = data.Cap.ToString();
        transform.Find("Bg/StarAndGrade/Star").GetComponent <StarComponent>().ShowStarAnimation(data.Star);

        transform.Find("Bg/TitleText").GetComponent <Text>().text = level.LevelName;
    }
Esempio n. 16
0
        private void Level2_10ToLevel2_11Stage()
        {
            var     levelModel = GlobalData.LevelModel;
            LevelVo level2_10  = levelModel.FindLevel("2-10");
            LevelVo level2_11  = levelModel.FindLevel("2-11");

            if (!level2_10.IsPass)
            {
                OnClickLevel("2-10");
            }
            else if (!level2_11.IsPass)
            {
                OnClickLevel("2-11");
            }
            else if (level2_11.IsPass)
            {
                ShowSweep2_11_Start();
            }
        }
Esempio n. 17
0
 private void OnEnterBattle(int num, LevelVo level)
 {
     _lastPlayLevel = level;
     if (num == 0)
     {
         Main.ChangeMenu(MainMenuDisplayState.HideAll);
         ModuleManager.Instance.EnterModule(ModuleConfig.MODULE_BATTLE, false, true, level,
                                            GetData <LevelModel>().CommentRule, GetData <LevelModel>().CardNumRules);
     }
     else
     {
         byte[] data = NetWorkManager.GetByteData(new SweepReq()
         {
             LevelId = level.LevelId,
             Num     = num
         });
         LoadingOverlay.Instance.Show();
         NetWorkManager.Instance.Send <SweepRes>(CMD.CAREERC_SWEEPRES, data, OnSweep);
     }
 }
Esempio n. 18
0
    public void SetData(LevelVo info, CapsuleBattleModel battleModel)
    {
        _info        = info;
        _battleModel = battleModel;

        _battleModel.FilterCard();

        ResetMiddleHeroCard();
        transform.Find("BgTop/NeedStrengthText").GetComponent <Text>().text =
            I18NManager.Get("Battle_SuperStarViewNeedStrengthText", ViewUtil.AbilitiesToString(info.Abilitys));

        transform.Find("BgTop/Panel/Original/ValueText").GetComponent <Text>().text   = "0";
        transform.Find("BgTop/Panel/Glamour/ValueText").GetComponent <Text>().text    = "0";
        transform.Find("BgTop/Panel/Popularity/ValueText").GetComponent <Text>().text = "0";
        transform.Find("BgTop/Panel/Sing/ValueText").GetComponent <Text>().text       = "0";
        transform.Find("BgTop/Panel/Dancing/ValueText").GetComponent <Text>().text    = "0";
        transform.Find("BgTop/Panel/Willpower/ValueText").GetComponent <Text>().text  = "0";
        _smallCardList.RefreshCells();
        _smallCardList.totalCount = _battleModel.UserCardList.Count;
    }
Esempio n. 19
0
        public void SetFansData(LevelVo data, List <FansVo> list)
        {
            _funsPower = 0;
            transform.Find("Container/DescBg/FansText").GetComponent <Text>().text = Util.GetNoBreakingString(data.FansDescription);

            var fansPref      = GetPrefab("Battle/Prefabs/FansItem");
            var fansContainer = transform.Find("Container/FansContainer");

            int useTotal = 0;
            int maxTotal = 0;

            _fansDict = new Dictionary <int, int>();

            _fansInfo = new Queue <string>();

            foreach (var item in data.FansMax)
            {
                var itemObj = Instantiate(fansPref);
                if (itemObj == null)
                {
                    continue;
                }



                itemObj.transform.SetParent(fansContainer, false);

                var itemData = list.Find((vo) => { return(vo.FansId == item.Key); });
                var num      = itemData.Num > item.Value ? item.Value : itemData.Num;
                itemObj.AddComponent <BattleFansItem>().SetData(num, item.Value, itemData);
                _funsPower += num * itemData.Power;
                _fansDict.Add(itemData.FansId, num);

                _fansInfo.Enqueue(itemData.FansBigTexturePath);   //获取粉丝图片路径,入队

                useTotal += num;
                maxTotal += item.Value;
            }

            _moreFans = (float)useTotal / maxTotal >= 0.5;
        }
Esempio n. 20
0
    private void ShowBattleWindow(LevelVo level)
    {
//	    LevelVo level1_6 = _model.FindLevel("1-6");
//	    if (level.IsPass && level1_6.IsPass == false)
//	    {
//		    FlowText.ShowMessage(I18NManager.Get("Guide_Battle6", level1_6.LevelMark));
//		    return;
//	    }

        if (level.IsPass && !GuideManager.IsPass1_9())
        {
            FlowText.ShowMessage(I18NManager.Get("Guide_Battle6", "1-9"));
            return;
        }


        _battleIntroductionPopup = PopupManager.ShowWindow <BattleIntroductionPopup>("MainLine/Prefabs/BattleIntroductionPopup");
        _battleIntroductionPopup.Init(level, _model.LevelBuyRules);
        _battleIntroductionPopup.MaskColor = new Color(0, 0, 0, 0.5f);
        ClientData.CustomerSelectedLevel   = level;
    }
Esempio n. 21
0
        private void ClickLevel(string level)
        {
            SetOnClickLevelStartStep(level);
            LevelVo vo = GlobalData.LevelModel.FindLevel(level);

            string msg;

            if (vo.LevelType == LevelTypePB.Story)
            {
                msg = MessageConst.MODULE_MAINLINE_SHOW_STORY_VIEW;
            }
            else
            {
                msg = MessageConst.MODULE_MAINLINE_SHOW_BATTLE_VIEW;
            }

            _topNpc.gameObject.Hide();
            _bottomNpc.gameObject.Hide();

            SendMessage(new Message(msg, Message.MessageReciverType.UnvarnishedTransmission, vo));
        }
Esempio n. 22
0
        public void SetData(LevelVo levelVo, bool doAnimation)
        {
            LevelVo = levelVo;

            Text text  = transform.GetText("Text");
            int  index = (levelVo.ChapterGroup - 1) % 4 + 1;

            if (levelVo.LevelType == LevelTypePB.Value)
            {
                text.text = levelVo.LevelMark;
                Transform starContainer = transform.Find("Stars");
                for (int i = 0; i < 3; i++)
                {
                    Image image = starContainer.GetChild(i).GetImage();
                    if (levelVo.CurrentStar > i)
                    {
                        image.sprite = AssetManager.Instance.GetSpriteAtlas("UIAtlas_MainLine_star");
                    }
                    else
                    {
                        image.sprite = AssetManager.Instance.GetSpriteAtlas("UIAtlas_MainLine_starEmpty");
                    }
                }
                transform.GetImage("Frame").sprite = AssetManager.Instance.GetSpriteAtlas("UIAtlas_MainLine_battleFrame" + index);
            }
            else
            {
                text.text = levelVo.LevelMark;
                transform.GetImage("Frame").sprite = AssetManager.Instance.GetSpriteAtlas("UIAtlas_MainLine_storyFrame" + index);
//                transform.GetImage("Icon").sprite = AssetManager.Instance.GetSpriteAtlas("UIAtlas_MainLine_storyItem" + index);
            }

            text.color = MainLineView.Colors[index - 1];

            if (doAnimation)
            {
                transform.localScale = Vector3.zero;
                transform.DOScale(new Vector3(1, 1, 1), 0.13f).SetDelay(0.3f);
            }
        }
Esempio n. 23
0
        private void ShowSweep2_11_Step2()
        {
            _battleIntroductionPopup.gameObject.Show();

            var playTimesBtn = _battleIntroductionPopup.Find("BtnContainer/PlayTimesBtn");

            playTimesBtn.gameObject.Show();
            GuideArrow.DoAnimation(playTimesBtn);
            PointerClickListener.Get(playTimesBtn.gameObject)
            .onClick = go =>
            {
                playTimesBtn.gameObject.Hide();

                GuideManager.SetStatisticsRemoteGuideStep(GuideConst.MainLineStep_OnClick_Battle2_11_Sweep);
                LevelVo vo = GlobalData.LevelModel.FindLevel("2-11");
                EventDispatcher.TriggerEvent(EventConst.EnterBattle, 5, vo);
                PopupManager.CloseLastWindow();

                GuideManager.SetRemoteGuideStep(GuideTypePB.MainGuide, GuideConst.MainLineStep_OnClick_Battle2_11_Sweep);
                //防止网络异常先模拟数据
                UserGuidePB userGuide = new UserGuidePB()
                {
                    GuideId   = GuideConst.MainStep_MainStory2_4_Fail,
                    GuideType = GuideTypePB.MainGuide
                };
                GuideManager.UpdateRemoteGuide(userGuide);

                ClientTimer.Instance.DelayCall(() =>
                {
                    SetNpcHint(true, I18NManager.Get("Guide_MainLine_Sweep"));

                    PointerClickListener.Get(transform.gameObject).onClick = o =>
                    {
                        PopupManager.CloseAllWindow();
                        ModuleManager.Instance.DestroyAllModuleBackToCommon();
                    };
                }, 1.6f);
            };
        }
Esempio n. 24
0
    private LevelVo GetNewLevel(LevelVo levelVo)
    {
        if (levelVo.BeforeLevelId == 0 && levelVo.IsPass == false)
        {
            return(levelVo);
        }

        LevelVo level = GetNextLevelInfo(levelVo);

        if (level == null)
        {
            //到最后一关返回
            return(null);
        }

        if (level.IsPass)
        {
            return(GetNewLevel(level));
        }

        return(level);
    }
Esempio n. 25
0
    /// <summary>
    /// 处理View消息
    /// </summary>
    /// <param name="message"></param>
    public override void OnMessage(Message message)
    {
        string name = message.Name;

        object[] body = message.Params;
        switch (name)
        {
        case MessageConst.MODULE_MAINLINE_SHOW_STORY_VIEW:         //显示剧情模块
            LevelVo levelInfo1 = (LevelVo)body[0];
            ModuleManager.Instance.EnterModule(ModuleConfig.MODULE_STORY, false, false, levelInfo1);
            ClientData.CustomerSelectedLevel = levelInfo1;
            NoCoerceHideGudieView();
            break;

        case MessageConst.MODULE_MAINLINE_SHOW_BATTLE_VIEW:         //显示战斗介绍窗口
            LevelVo level = (LevelVo)body[0];
            ShowBattleWindow(level);
            break;

        case MessageConst.MODULE_MAIN_NEXTCHAPTER:
            View.ShowNextChapter();
            break;
        }
    }
Esempio n. 26
0
    public void SetData(LevelRes res)
    {
        LocalDataList = ClientData.LoadLevelData();

        LevelBuyRules = res.LevelBuyRules;
        CommentRule   = res.CommentRules;
        CardNumRules  = res.CardNumRules;

        InfoRule = res.InfoRules;
        PlotRule = res.PlotRules;

        LevelDict   = new Dictionary <int, LevelVo>();
        ChapterList = new List <ChapterVo>();

        ChapterVo chapter = null;

        Dictionary <int, ChapterVo> chapterDict = new Dictionary <int, ChapterVo>();

        for (int i = 0; i < res.Levels.Count; i++)
        {
            var level = new LevelVo();
            level.SetData(res.Levels[i], PlotRule, InfoRule, LocalDataList);

            LevelDict.Add(level.LevelId, level);

            if (chapterDict.ContainsKey(level.ChapterGroup) == false)
            {
                chapter = new ChapterVo();
                chapterDict[level.ChapterGroup] = chapter;
                chapter.LevelList     = new List <LevelVo>();
                chapter.HardLevelList = new List <LevelVo>();
                chapter.ChapterId     = level.ChapterGroup;

                for (int j = 0; j < InfoRule.Count; j++)
                {
                    var info = InfoRule[j];
                    if (info.InfoType == 1 && info.InfoId == level.ChapterGroup)
                    {
                        chapter.ChapterName = info.LevelName;
                        chapter.ChapterDesc = info.LevelDesc;
                        break;
                    }
                }
            }

            if (level.Hardness == GameTypePB.Difficult)
            {
                chapterDict[level.ChapterGroup].HardLevelList.Add(level);
            }
            else
            {
                chapterDict[level.ChapterGroup].LevelList.Add(level);
            }
        }

//        var prevPos = GetPrevChapterPos();
//        var nextPos = GetNextChapterPos();
        foreach (var chapterVo in chapterDict)
        {
            ChapterList.Add(chapterVo.Value);
//            if (nextPos.Length >= chapterVo.Value.ChapterId)
//            {
//                chapterVo.Value.NextPos = nextPos[chapterVo.Value.ChapterId - 1];
//                chapterVo.Value.PrevPos = prevPos[chapterVo.Value.ChapterId - 1];
            if (chapterDict.ContainsKey(chapterVo.Value.ChapterId + 1))
            {
                chapterVo.Value.NextChapterVo = chapterDict[chapterVo.Value.ChapterId + 1];
            }

            if (chapterDict.ContainsKey(chapterVo.Value.ChapterId - 1))
            {
                chapterVo.Value.PrevChapterVo = chapterDict[chapterVo.Value.ChapterId - 1];
            }
//            }
        }
    }
Esempio n. 27
0
        private void Level1_4ToLevel2_3Stage()
        {
            var     levelModel = GlobalData.LevelModel;
            LevelVo level1_4   = levelModel.FindLevel("1-4");
            LevelVo level1_5   = levelModel.FindLevel("1-5");
            LevelVo level1_6   = levelModel.FindLevel("1-6");
            LevelVo level1_7   = levelModel.FindLevel("1-7");
            LevelVo level1_8   = levelModel.FindLevel("1-8");
            LevelVo level1_9   = levelModel.FindLevel("1-9");
            LevelVo level2_1   = levelModel.FindLevel("2-1");
            LevelVo level2_2   = levelModel.FindLevel("2-2");
            LevelVo level2_3   = levelModel.FindLevel("2-3");
            LevelVo level2_4   = levelModel.FindLevel("2-4");

            if (!level1_4.IsPass)
            {
                Click1_4("1-4");
            }
            else if (!level1_5.IsPass)
            {
                SetNpcHint(true, I18NManager.Get("Guide_MainLine1_5_Star"));
                GuideManager.SetPassLevelStep("1-4");
                OnClickLevel("1-5");
            }
            else if (!level1_6.IsPass)
            {
                GuideManager.SetPassLevelStep("1-5");
                OnClickLevel("1-6");
            }
            else if (!level1_7.IsPass)
            {
                GuideManager.SetPassLevelStep("1-6");
                OnClickLevel("1-7");
            }
            else if (!level1_8.IsPass)
            {
                GuideManager.SetPassLevelStep("1-7");
                OnClickLevel("1-8");
            }
            else if (!level1_9.IsPass)
            {
                GuideManager.SetPassLevelStep("1-8");
                OnClickLevel("1-9");
            }
            else if (level1_9.IsPass && level2_1.IsPass == false)
            {
                //引导点击下一章
                GuideManager.SetPassLevelStep("1-9");

                var curStage = GuideManager.CurStage();
                if (curStage == GuideStage.MainLineStep_Stroy1_9_Over)
                {
                    Level1_9End();
                }
                else if (levelModel.ActiveLevel.ChapterGroup == 1 && level2_1.IsPass == false)
                {
                    OnClickNextChapter();
                }
                else
                {
                    //开始引导第二章
                    OnClickLevel("2-1");
                }
            }
            else if (level2_1.IsPass && level2_2.IsPass == false)
            {
                OnClickLevel("2-2");
            }
            else if (level2_2.IsPass && level2_3.IsPass == false)
            {
                OnClickLevel("2-3");
            }
            else if (level2_3.IsPass && level2_4.IsPass == false)
            {
                OnClickLevel("2-4");
            }
        }
Esempio n. 28
0
 public void Reset()
 {
     Level         = null;
     VisitLevel    = null;
     stringBuilder = new StringBuilder();
 }
Esempio n. 29
0
        public void SetData(RepeatedField <GameResultPB> result, LevelVo customerSelectedLevel, int exp)
        {
            transform.Find("Title/Text").GetComponent <Text>().text = customerSelectedLevel.LevelName;

            _total = 0;
            _drawActivityDropItemDict = new Dictionary <string, DrawActivityDropItemVo>();

            for (int i = 0; i < result.Count; i++)
            {
                GameResultPB pb = result[i];

                Dictionary <int, RewardVo> rewardDict = new Dictionary <int, RewardVo>();
                for (int j = 0; j < pb.Awards.Count; j++)
                {
                    RewardVo vo = new RewardVo(pb.Awards[j], true);
                    if (rewardDict.ContainsKey(vo.Id))
                    {
                        rewardDict[vo.Id].Num += vo.Num;
                    }
                    else
                    {
                        rewardDict.Add(vo.Id, vo);
                    }
                }

                RectTransform listItem = _content.GetChild(i).GetComponent <RectTransform>();
                var           isOnVip  = GlobalData.PlayerModel.PlayerVo.IsOnVip;
                if (isOnVip)
                {
                    listItem.Find("Title/Text2").GetComponent <Text>().text = "+" + exp + I18NManager.Get("Common_VIPExp");
                }
                else
                {
                    listItem.Find("Title/Text2").GetComponent <Text>().text = "+" + exp + I18NManager.Get("Common_Exp");
                }

                listItem.gameObject.Show();
                List <RewardVo> arr  = rewardDict.Values.ToList();
                var             prop = arr[arr.Count - 1];
                if (prop.Resource == ResourcePB.Item && prop.Id >= PropConst.CardUpgradePropSmall && prop.Id <= PropConst.CardUpgradePropLarge)
                {
                    arr.Insert(1, prop);
                    arr.RemoveAt(arr.Count - 1);
                }

                if (pb.DroppingItem != null && pb.DroppingItem.Count > 0)
                {
                    for (int k = 0; k < pb.DroppingItem.Count; k++)
                    {
                        DrawActivityDropItemVo vo = new DrawActivityDropItemVo(pb.DroppingItem[k], arr, HolidayModulePB.ActivityCareer);
                        _drawActivityDropItemDict.Add(i + "_" + vo.DisplayIndex, vo);
                        if (vo.TotalNum > _total)
                        {
                            _total = vo.TotalNum;
                        }
                    }
                }

                SetItemReward(listItem, arr, _drawActivityDropItemDict);

                float height = 440;
                if (arr.Count > 3)
                {
                    //2行的情况
                    height = 766;
                }
                float lineY = -height + 5;

                listItem.sizeDelta = new Vector2(listItem.sizeDelta.x, height);
                RectTransform linePos = listItem.Find("Line").GetComponent <RectTransform>();
                linePos.anchoredPosition = new Vector2(linePos.anchoredPosition.x, lineY);
            }

            //显示最终值
            foreach (var dropItemVo in _drawActivityDropItemDict)
            {
                dropItemVo.Value.TotalNum = _total;
            }
        }
Esempio n. 30
0
    public void SetMyLevelData(MyLevelRes res)
    {
        PassLevelCount  = res.UserLevels.Count;
        MyLevelInfoList = new List <MyLevelVo>();
        MyLevelVo lastLevel = null;
        int       myLevle   = GlobalData.PlayerModel.PlayerVo.Level;

        for (int i = 0; i < res.UserLevels.Count; i++)
        {
            var level = new MyLevelVo();
            level.SetData(res.UserLevels[i]);
            MyLevelInfoList.Add(level);
            LevelVo item = GetLevelInfo(level.LevelId);
            item.ChallangeTimes = level.Count;
            item.BuyCount       = level.BuyCount;
            if (level.Star > 0)
            {
                item.IsPass      = true;
                item.CurrentStar = level.Star;
                item.Score       = level.Score;
            }

            if (item.Hardness == GameTypePB.Ordinary)
            {
                if (myLevle >= item.DepartmentLevel)
                {
                    lastLevel = level;
                }
            }
        }

        JudgeChaptersOpen();

        foreach (var levelVo in LevelDict)
        {
            if (levelVo.Value.BeforeLevelId == 0)
            {
                //第一关特殊处理
                if (levelVo.Value.Hardness == GameTypePB.Difficult)
                {
                    List <LevelVo> list = ChapterList[levelVo.Value.ChapterGroup - 1].LevelList;
                    levelVo.Value.IsOpen = list[list.Count - 1].IsPass;
                }
                else
                {
                    levelVo.Value.IsOpen = true;
                }
            }
            else
            {
                LevelVo beforeLevel = GetLevelInfo(levelVo.Value.BeforeLevelId);
                //上一个关通关
                if (levelVo.Value.Hardness == GameTypePB.Ordinary)
                {
                    levelVo.Value.IsOpen = beforeLevel.IsPass;
                }
                else if (levelVo.Value.Hardness == GameTypePB.Difficult && beforeLevel.IsPass)
                {
                    levelVo.Value.IsOpen = ChapterList[levelVo.Value.ChapterGroup - 1].IsHardOpen;
                }
            }
        }

        if (JumpData != null)
        {
            //需要跳转到战斗开始
            ActiveLevel = FindLevel(JumpData);

            if (ActiveLevel != null)
            {
                DoJump = true;
                ClientData.CustomerSelectedLevel = ActiveLevel;
                return;
            }
        }

        DoJump = false;

        if (ClientData.CustomerSelectedLevel == null)
        {
            if (lastLevel != null)
            {
                //在玩家没有选择关卡的时候,找到最后一个通关的普通关卡
                LevelVo levelVo = GetLevelInfo(lastLevel.LevelId);
                if (levelVo.IsPass && levelVo.AfterLevelId != 0)
                {
                    //AfterLevelId=0最后一关
                    LevelVo tempLevel = GetLevelInfo(levelVo.AfterLevelId);
                    if (myLevle >= tempLevel.DepartmentLevel)
                    {
                        levelVo = tempLevel;
                    }
                }

                ActiveLevel = levelVo;
                ClientData.CustomerSelectedLevel = ActiveLevel;
            }
            else
            {
                //没有通关任何关卡
                if (res.UserLevels.Count == 0)
                {
                    ActiveLevel = ChapterList[0].LevelList[0];
                }
            }
        }

        if (ClientData.CustomerSelectedLevel != null)
        {
            //使用上次选择的关卡
            ActiveLevel = ClientData.CustomerSelectedLevel;
        }
    }