コード例 #1
0
        /// <summary>
        /// 任务更新。
        /// </summary>
        public void OnGameEventTaskUpdate(GameEvent ge, EventParameter parameter)
        {
            int             id = parameter.intParameter1;
            List <LuaTable> anis;

            if (!m_CacheTaskAnimation.TryGetValue(id, out anis))
            {
                return;
            }

            //任务状态过滤
            TaskMgr.TaskEnum te = (TaskMgr.TaskEnum)parameter.intParameter;
            int state           = te == TaskMgr.TaskEnum.add ? TASK_TYPE_ACCEPT : (te == TaskMgr.TaskEnum.finish ? TASK_TYPE_APPLY : 0);

            if (state == 0 && te == TaskMgr.TaskEnum.update)
            {
                MsgData_sQuestInfo info = parameter.msgParameter as MsgData_sQuestInfo;
                if (info.state == 2)
                {
                    state = TASK_TYPE_COMPLETE;
                }
            }
            if (state == 0)
            {
                return;
            }

            for (int i = 0; i < anis.Count; ++i)
            {
                LuaTable cfg = anis[i];
                if (cfg.Get <int>("quest") == state)
                {
                    TryPlayerCutScene(cfg);
                    break;
                }
            }
        }
コード例 #2
0
        public int GetLessDailyNum(int id)
        {
            LuaTable cfg = GetDailyConfig(id);

            int maxNum    = cfg.Get <int>("openMaxNum"); // 最大次数上限
            int count     = 0;
            int lessCount = 0;

            switch (id)
            {
            case 14:       //通缉
                count     = TongJiMgr.Instance.info.finishCount;
                lessCount = maxNum + TongJiMgr.Instance.info.buyCount - count;
                break;

            case 15:       //世界BOSS
                lessCount = 1;
                break;

            case 17:      //竞技场
                if (ArenaMgr.Instance.MeArenaInfo != null)
                {
                    count = ArenaMgr.Instance.MeArenaInfo.ChallengeTimes;
                }
                lessCount = maxNum - count;
                break;

            case 39:     //经验副本
                count     = ExpFuBenDataMgr.Instance.Info.time;
                lessCount = maxNum + ExpFuBenDataMgr.Instance.Info.buyCount - count;
                break;

            case 44:      //等级副本
                lessCount = LevelFuBenDataMgr.Instance.enterNum;
                break;

            case 57:      //寻宝

                break;

            case 72:      //boss挑战(个人)

                break;

            case 88:      //试炼秘境
                lessCount = SecretDuplDataMgr.Instance.counts;
                break;

            case 93:      //魔宠幻境
                lessCount = DungeonMgr.Instance.fabaoInfo.resetNum;
                break;

            case 107:      //宝塔秘境

                break;

            case 108:       //经验任务
                int questId2 = TaskMgr.Instance.GetCurTypeTaskId(2);
                MsgData_sQuestInfo questData2 = TaskMgr.Instance.GetCurTaskMsg(questId2);
                if (questData2 != null)
                {
                    count     = TaskMgr.GetLayer(questData2.flag);
                    lessCount = maxNum - count + 1;
                }
                else
                {
                    lessCount = 0;
                }

                break;

            case 119:      //讨伐任务
                int questId3 = TaskMgr.Instance.GetCurTypeTaskId(3);
                MsgData_sQuestInfo questData3 = TaskMgr.Instance.GetCurTaskMsg(questId3);
                if (questData3 != null)
                {
                    count     = TaskMgr.GetLayer(questData3.flag);
                    lessCount = maxNum - count + 1;
                }
                else
                {
                    lessCount = 0;
                }
                break;

            case 123:       //魔域地牢

                break;

            case 131:      //资源副本
                maxNum    = PlayerData.Instance.ResLevelData.GetCfgAllNum();
                count     = PlayerData.Instance.ResLevelData.GetAllNum();
                lessCount = maxNum - count;
                break;

            case 154:      //跨服组队秘境

                break;

            case 215:      //组队秘境
                lessCount = SecretDuplDataMgr.Instance.tili;
                break;

            case 234:       //首领BOSS
                lessCount = 0;
                break;

            case 235:        //恶灵猎行
                lessCount = 0;
                break;

            case 236:       //双倍经验
                lessCount = 0;
                break;

            case 237:       //每日答题
                lessCount = 0;
                break;

            default:
                break;
            }
            // Debug.LogError("id   " +id +"   lesscount  " +lessCount);
            return(lessCount);
        }