Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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)));
 }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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);
        }