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); }
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; } }
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; } }
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(); } }