Example #1
0
        public static bool ReLoad()
        {
            bool result;

            try
            {
                Dictionary <int, DailyAwardInfo> tempDaily = new Dictionary <int, DailyAwardInfo>();
                if (AwardMgr.LoadDailyAward(tempDaily))
                {
                    AwardMgr.m_lock.AcquireWriterLock(-1);
                    try
                    {
                        AwardMgr._dailyAward = tempDaily;
                        result = true;
                        return(result);
                    }
                    catch
                    {
                    }
                    finally
                    {
                        AwardMgr.m_lock.ReleaseWriterLock();
                    }
                }
            }
            catch (Exception e)
            {
                //if (AwardMgr.log.IsErrorEnabled)
                {
                    AwardMgr.log.Error("AwardMgr", e);
                }
            }
            result = false;
            return(result);
        }
Example #2
0
 public static bool ReLoad()
 {
     try
     {
         Dictionary <int, DailyAwardInfo> dictionary = new Dictionary <int, DailyAwardInfo>();
         if (AwardMgr.LoadDailyAward(dictionary))
         {
             AwardMgr.m_lock.AcquireWriterLock(15000);
             try
             {
                 AwardMgr._dailyAward = dictionary;
                 return(true);
             }
             catch
             {
             }
             finally
             {
                 AwardMgr.m_lock.ReleaseWriterLock();
             }
         }
     }
     catch (Exception exception)
     {
         if (AwardMgr.log.IsErrorEnabled)
         {
             AwardMgr.log.Error("AwardMgr", exception);
         }
     }
     return(false);
 }
Example #3
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);
 }
Example #4
0
        public static bool AddAuncherAward(GamePlayer player)
        {
            bool result;

            if (DateTime.Now.Date == player.PlayerCharacter.LastAuncherAward.Date || player.ClientType != eClientType.Auncher)
            {
                result = false;
            }
            else
            {
                player.PlayerCharacter.LastAuncherAward = DateTime.Now;
                result = AwardMgr.AddDailyAward(player, 1);
            }
            return(result);
        }
Example #5
0
        public static bool AddLoginAward(GamePlayer player)
        {
            bool result;

            if (DateTime.Now.Date == player.PlayerCharacter.LastAward.Date)
            {
                result = false;
            }
            else
            {
                player.PlayerCharacter.LastAward = DateTime.Now;
                result = AwardMgr.AddDailyAward(player, 0);
            }
            return(result);
        }
Example #6
0
        public static bool Init()
        {
            bool result;

            try
            {
                AwardMgr.m_lock           = new ReaderWriterLock();
                AwardMgr._dailyAward      = new Dictionary <int, DailyAwardInfo>();
                AwardMgr._dailyAwardState = false;
                result = AwardMgr.LoadDailyAward(AwardMgr._dailyAward);
            }
            catch (Exception e)
            {
                //if (AwardMgr.log.IsErrorEnabled)
                {
                    AwardMgr.log.Error("AwardMgr", e);
                }
                result = false;
            }
            return(result);
        }
Example #7
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);
        }