コード例 #1
0
        public override bool TakeAction()
        {
            UserDailyQuestData dailyQuest = GetTask.FindTask(id);

            if (dailyQuest.Status != TaskStatus.Finished)
            {
                return(false);
            }
            var taskcfg = new ShareCacheStruct <Config_Task>().FindKey(id);

            if (taskcfg == null)
            {
                new BaseLog().SaveLog(string.Format("查找每日任务ID出错 ID={0}", id));
                return(false);
            }

            dailyQuest.Status = TaskStatus.Received;
            GetTask.Liveness += taskcfg.Liveness;

            switch (taskcfg.RewardsType)
            {
            case TaskAwardType.Gold:
            {
                BigInteger bi    = BigInteger.Parse(taskcfg.RewardsNum);
                BigInteger value = Math.Ceiling(GetBasis.UserLv / 50.0).ToInt() * bi;
                UserHelper.RewardsGold(Current.UserId, value, UpdateCoinOperate.NormalReward, true);
            }
            break;

            case TaskAwardType.Diamond:
            {
                UserHelper.RewardsDiamond(Current.UserId, Convert.ToInt32(taskcfg.RewardsNum));
            }
            break;

            case TaskAwardType.Item:
            {
                var lotteryGem = UserHelper.RandomLotteryGem();
                UserHelper.RewardsItem(Current.UserId, lotteryGem.ID, 1);
            }
            break;
            }
            receipt = true;
            return(true);
        }
コード例 #2
0
        public void ResetCache()
        {
            Liveness = 0;
            DailyQuestList.Clear();
            ReceiveBoxList.Clear();
            var taskSet = new ShareCacheStruct <Config_Task>();

            for (TaskType type = TaskType.Login; type <= TaskType.BuyGold; ++type)
            {
                var taskcfg = taskSet.Find(t => (t.id == type));
                if (taskcfg == null)
                {
                    continue;
                }
                var dailyQuest = new UserDailyQuestData();
                dailyQuest.ID     = type;
                dailyQuest.Count  = 0;
                dailyQuest.Status = TaskStatus.No;

                DailyQuestList.Add(dailyQuest);
            }
        }
コード例 #3
0
 public override bool TakeAction()
 {
     receipt = GetTask.FindTask(type);
     return(true);
 }