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); }
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); } }
public override bool TakeAction() { receipt = GetTask.FindTask(type); return(true); }