Exemplo n.º 1
0
    private void OnGetChallenge(ChallengeRes res)
    {
        SendMessage(new Message(MessageConst.CMD_BATTLE_GET_RES));

        SendMessage(new Message(MessageConst.TO_GUIDE_BATTLE_RESULT, Message.MessageReciverType.DEFAULT,
                                res, _model.LevelVo));

        GlobalData.PropModel.UpdateProps(res.UserItem);


        //已经更新完毕的道具,奖励里面不在处理
        List <int> itemIds = new List <int>();

        for (int i = 0; i < res.UserItem.Count; i++)
        {
            itemIds.Add(res.UserItem[i].ItemId);
        }

        foreach (var pb in res.GameResult.Awards)
        {
            if (pb.Resource != ResourcePB.Item || itemIds.Contains(pb.ResourceId))
            {
                continue;
            }

            GlobalData.PropModel.AddProp(pb);
        }

        if (res.Ret == -1)
        {
            SendMessage(new Message(MessageConst.CMD_BATTLE_RESULT_DATA, Message.MessageReciverType.MODEL,
                                    res.GameResult));
            GlobalData.PlayerModel.UpdateUserPower(res.UserPower);
            if (res.GameResult.Star > 0)
            {
                SdkHelper.StatisticsAgent.OnMissionCompleted(_model.LevelVo.LevelMark);
                SendMessage(new Message(MessageConst.CMD_BATTLE_SHOW_BATTLE_WIN_ANIMATION));
            }
            else
            {
                SdkHelper.StatisticsAgent.OnMissionFail(_model.LevelVo.LevelMark);
                SendMessage(new Message(MessageConst.CMD_BATTLE_SHOW_FAIL));
            }
        }
        else
        {
            SendMessage(new Message(MessageConst.CMD_BATTLE_SHOW_FAIL));
        }

        SendMessage(new Message(MessageConst.CMD_BATTLE_SET_POWER, Message.MessageReciverType.DEFAULT,
                                res.GameResult.Cap));

        GlobalData.RandomEventModel.AddEnergy(_model.LevelVo.CostEnergy);
    }
Exemplo n.º 2
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;
            }
        }
Exemplo n.º 3
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;
            }
        }
Exemplo n.º 4
0
    private void OnGetChallengeData(ChallengeRes res)
    {
        SendMessage(new Message(MessageConst.TO_GUIDE_BATTLE_RESULT, Message.MessageReciverType.DEFAULT,
                                res, _storyModel.Level));

        LoadingOverlay.Instance.Hide();
        if (_storyModel.Level != null && (_storyModel.Level.LevelId == 103 || _storyModel.Level.LevelId == 109))
        {
            if (GuideManager.CurStage() != GuideStage.MainLine1_1Level_1_3Level_Stage)
            {
                ModuleManager.Instance.GoBack();
            }

//            var curStage = GuideManager.CurStage(GuideManager.GetRemoteGuideStep(GuideTypePB.MainGuide));
//            if (curStage != GuideStage.MainLine1_1Level_1_3Level_Stage)
//            {
//                ModuleManager.Instance.GoBack();
//            }
        }
        else
        {
            ModuleManager.Instance.GoBack();
        }
    }