public static bool AddDailyAward(GamePlayer player) { if (DateTime.Now.Date == player.PlayerCharacter.LastAward.Date) { return(false); } player.PlayerCharacter.DayLoginCount++; player.PlayerCharacter.LastAward = DateTime.Now; DailyAwardInfo[] allAwardInfo = AwardMgr.GetAllAwardInfo(); DailyAwardInfo[] array = allAwardInfo; for (int i = 0; i < array.Length; i++) { DailyAwardInfo dailyAwardInfo = array[i]; if (dailyAwardInfo.Type == 0) { ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(dailyAwardInfo.TemplateID); if (itemTemplateInfo != null) { AbstractBuffer abstractBuffer = BufferList.CreateBufferHour(itemTemplateInfo, dailyAwardInfo.ValidDate); abstractBuffer.Start(player); return(true); } } } return(false); }
public static XElement CreateActiveInfo(DailyAwardInfo info) { return(new XElement("Item", new XAttribute("ID", info.ID), new XAttribute("Count", info.Count), new XAttribute("CountRemark", info.CountRemark == null ? "" : info.CountRemark), new XAttribute("IsBinds", info.IsBinds), new XAttribute("Remark", info.Remark == null ? "" : info.Remark), new XAttribute("Sex", info.Sex), new XAttribute("TemplateID", info.TemplateID), new XAttribute("Type", info.Type), new XAttribute("ValidDate", info.ValidDate))); }
private static bool LoadDailyAward(Dictionary <int, DailyAwardInfo> awards) { using (ProduceBussiness db = new ProduceBussiness()) { DailyAwardInfo[] infos = db.GetAllDailyAward(); DailyAwardInfo[] array = infos; for (int i = 0; i < array.Length; i++) { DailyAwardInfo info = array[i]; if (!awards.ContainsKey(info.ID)) { awards.Add(info.ID, info); } } } return(true); }
public DailyAwardInfo[] GetAllDailyAward() { List <DailyAwardInfo> infos = new List <DailyAwardInfo>(); SqlDataReader reader = null; try { db.GetReader(ref reader, "SP_Daily_Award_All"); while (reader.Read()) { DailyAwardInfo info = new DailyAwardInfo(); info.Count = (int)reader["Count"]; info.ID = (int)reader["ID"]; info.IsBinds = (bool)reader["IsBinds"]; info.TemplateID = (int)reader["TemplateID"]; info.Type = (int)reader["Type"]; info.ValidDate = (int)reader["ValidDate"]; info.Sex = (int)reader["Sex"]; info.Remark = reader["Remark"] == null ? "" : reader["Remark"].ToString(); info.CountRemark = reader["CountRemark"] == null ? "" : reader["CountRemark"].ToString(); infos.Add(info); } } catch (Exception e) { if (log.IsErrorEnabled) { log.Error("GetAllDaily", e); } } finally { if (reader != null && !reader.IsClosed) { reader.Close(); } } return(infos.ToArray()); }
public static bool AddSignAwards(GamePlayer player, int DailyLog) { DailyAwardInfo[] allAwardInfo = AwardMgr.GetAllAwardInfo(); new StringBuilder(); string value = string.Empty; bool flag = false; int templateId = 0; int num = 1; int validDate = 0; bool isBinds = true; bool result = false; DailyAwardInfo[] array = allAwardInfo; for (int i = 0; i < array.Length; i++) { DailyAwardInfo dailyAwardInfo = array[i]; flag = true; if (DailyLog <= 9) { if (DailyLog != 3) { if (DailyLog == 9) { if (dailyAwardInfo.Type == DailyLog) { templateId = dailyAwardInfo.TemplateID; num = dailyAwardInfo.Count; validDate = dailyAwardInfo.ValidDate; isBinds = dailyAwardInfo.IsBinds; result = true; } } } else { if (dailyAwardInfo.Type == DailyLog) { num = dailyAwardInfo.Count; player.AddGiftToken(num); result = true; } } } else { if (DailyLog != 17) { if (DailyLog == 26) { if (dailyAwardInfo.Type == DailyLog) { templateId = dailyAwardInfo.TemplateID; num = dailyAwardInfo.Count; validDate = dailyAwardInfo.ValidDate; isBinds = dailyAwardInfo.IsBinds; result = true; } } } else { if (dailyAwardInfo.Type == DailyLog) { templateId = dailyAwardInfo.TemplateID; num = dailyAwardInfo.Count; validDate = dailyAwardInfo.ValidDate; isBinds = dailyAwardInfo.IsBinds; result = true; } } } } ItemTemplateInfo itemTemplateInfo = ItemMgr.FindItemTemplate(templateId); if (itemTemplateInfo != null) { int num2 = num; for (int j = 0; j < num2; j += itemTemplateInfo.MaxCount) { int count = (j + itemTemplateInfo.MaxCount > num2) ? (num2 - j) : itemTemplateInfo.MaxCount; ItemInfo itemInfo = ItemInfo.CreateFromTemplate(itemTemplateInfo, count, 113); itemInfo.ValidDate = validDate; itemInfo.IsBinds = isBinds; if (!player.AddTemplate(itemInfo, itemInfo.Template.BagType, itemInfo.Count)) { flag = true; using (PlayerBussiness playerBussiness = new PlayerBussiness()) { itemInfo.UserID = 0; playerBussiness.AddGoods(itemInfo); MailInfo mailInfo = new MailInfo(); mailInfo.Annex1 = itemInfo.ItemID.ToString(); mailInfo.Content = LanguageMgr.GetTranslation("AwardMgr.AddDailyAward.Content", new object[] { itemInfo.Template.Name }); mailInfo.Gold = 0; mailInfo.Money = 0; mailInfo.Receiver = player.PlayerCharacter.NickName; mailInfo.ReceiverID = player.PlayerCharacter.ID; mailInfo.Sender = mailInfo.Receiver; mailInfo.SenderID = mailInfo.ReceiverID; mailInfo.Title = LanguageMgr.GetTranslation("AwardMgr.AddDailyAward.Title", new object[] { itemInfo.Template.Name }); mailInfo.Type = 15; playerBussiness.SendMail(mailInfo); value = LanguageMgr.GetTranslation("AwardMgr.AddDailyAward.Mail", new object[0]); } } } } if (flag && !string.IsNullOrEmpty(value)) { player.Out.SendMailResponse(player.PlayerCharacter.ID, eMailRespose.Receiver); } return(result); }