/// <summary> /// 副本结束。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnLevelEnd(MsgData data) { MsgData_sBackZhiYuanFbEnd info = data as MsgData_sBackZhiYuanFbEnd; LogMgr.LogWarning("OnLevelEnd result:{0} level:{1} mCurID:{2}", info.Result, info.Level, mCurID); if (mCurID == 0) { //会收到多条结束消息 return; } //成功才扣次数 if (info.Result == 1) { SubChapterNumber(mCurID, 1); } //修改信息 int id = mCurID; MsgData_sStagevo stage = GetStageInfo(mCurID); bool first = stage == null; if (first) { stage = new MsgData_sStagevo(); stage.ID = mCurID; mStageInfo.Add(stage.ID, stage); } if (stage.Evaluate <= 0) { first = true; } stage.Evaluate = info.Level; mCurID = 0; CoreEntry.gAutoAIMgr.AutoFight = false; //挑战通知 EventParameter ep = EventParameter.Get(); ep.intParameter = info.Result; ep.intParameter1 = id; ep.intParameter2 = first ? 1 : 0; CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_RESLEVEL_END, ep); }
//副本信息 public void UpdateStagevo(MsgData_sStagevo item) { Stagevo v = new Stagevo(); v.Num = item.Num; v.ID = item.ID; v.State = item.State; v.TimeNum = item.TimeNum; v.MaxNum = item.MaxNum; v.Evaluate = item.Evaluate; v.RewardType = item.RewardType; if (mStage.ContainsKey(v.ID)) { mStage[v.ID] = v; } else { mStage.Add(v.ID, v); } }
/// <summary> /// 副本信息。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnInitData(MsgData data) { MsgData_sZhiYuanFbData info = data as MsgData_sZhiYuanFbData; mIsInit = true; string str = UiUtil.GetNetString(info.EnterNumList); string[] numstr = str.Split(','); mEnterNum.Clear(); mBuyNum.Clear(); for (int i = 0; i < numstr.Length; ++i) { string nstr = numstr[i].Trim(); int num; if (int.TryParse(nstr, out num)) { mEnterNum.Add(num % 16); mBuyNum.Add(num / 16); } } mVeilList.Clear(); mVeilList.AddRange(info.VeilList); mStageInfo.Clear(); for (int i = 0; i < info.StageList.Count; ++i) { MsgData_sStagevo stage = info.StageList[i]; mStageInfo.Add(stage.ID, stage); } //触发事件 EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_RESLEVEL_INIT, ep); //显示UI if (mInitShowUI) { mInitShowUI = false; MainPanelMgr.Instance.ShowPanel("UIResLevel"); } }
/// <summary> /// 副本刷新。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnLevelRefresh(MsgData data) { MsgData_sZhiYuanFbUpDate info = data as MsgData_sZhiYuanFbUpDate; MsgData_sStagevo stage = GetStageInfo(info.ID); if (stage == null) { stage = new MsgData_sStagevo(); stage.ID = info.ID; mStageInfo.Add(stage.ID, stage); } stage.Num = info.Num; stage.State = info.State; stage.TimeNum = info.TimeNum; stage.RewardType = info.RewardType; EventParameter ep = EventParameter.Get(); ep.intParameter = info.ID; CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_RESLEVEL_REFRESH, ep); }
/// <summary> /// 获取关卡剩余挑战次数 /// </summary> /// <param name="id"></param> /// <returns></returns> public int GetStateNumber(int id) { int num = 0; MsgData_sStagevo info = GetStageInfo(id); LuaTable cfg = GetMainConfig(id); int totalnum = 0; if (cfg != null) { //int levellow = cfg.Get<int>("levellow"); //int levelup = cfg.Get<int>("levelup"); //int level = PlayerData.Instance.BaseAttr.Level; //if(levellow <= level && level <= levelup) { totalnum = cfg.Get <int>("daliyNum"); } } if (info != null) { num = totalnum - info.Num; } num = Math.Max(num, 0); return(num); }