コード例 #1
0
ファイル: ResLevelData.cs プロジェクト: midgithub/notes
        /// <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);
        }
コード例 #2
0
        //副本信息
        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);
            }
        }
コード例 #3
0
ファイル: ResLevelData.cs プロジェクト: midgithub/notes
        /// <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");
            }
        }
コード例 #4
0
ファイル: ResLevelData.cs プロジェクト: midgithub/notes
        /// <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);
        }
コード例 #5
0
ファイル: ResLevelData.cs プロジェクト: midgithub/notes
        /// <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);
        }