Пример #1
0
        private static FundData FundGetData(GameClient client)
        {
            FundData fundData = FundManager.GetFundData(client);
            bool     isOpen   = FundManager.IsGongNengOpened(client, false);

            if (fundData.IsOpen != isOpen)
            {
                FundManager.initFundData(client);
            }
            return(FundManager.GetFundData(client));
        }
Пример #2
0
 public static void initFundData(GameClient client)
 {
     lock (client.ClientData.LockFund)
     {
         FundData fundData = new FundData();
         if (!FundManager.IsGongNengOpened(client, false))
         {
             client.ClientData.MyFundData = fundData;
         }
         else
         {
             fundData.IsOpen = true;
             fundData.FundDic.Add(1, FundManager.initFundItem(client, EFund.ChangeLife));
             fundData.FundDic.Add(2, FundManager.initFundItem(client, EFund.Login));
             fundData.FundDic.Add(3, FundManager.initFundItem(client, EFund.Money));
             List <FundDBItem> dbItemList = FundManager.DBFundInfo(client);
             if (dbItemList == null)
             {
                 client.ClientData.MyFundData = fundData;
             }
             else
             {
                 foreach (FundDBItem dbItem in dbItemList)
                 {
                     if (fundData.FundDic.ContainsKey(dbItem.FundType) && dbItem.State > 0)
                     {
                         FundItem fundItem = fundData.FundDic[dbItem.FundType];
                         fundItem.BuyType   = 1;
                         fundItem.BuyTime   = dbItem.BuyTime;
                         fundItem.FundID    = dbItem.FundID;
                         fundItem.AwardID   = dbItem.AwardID;
                         fundItem.AwardType = 1;
                         if (fundItem.FundType == 3)
                         {
                             fundItem.Value1 = dbItem.Value1;
                             fundItem.Value2 = dbItem.Value2;
                         }
                         if (fundItem.FundType == 2 && fundItem.BuyTime > DateTime.MinValue)
                         {
                             fundItem.Value1 = Global.GetOffsetDay(TimeUtil.NowDateTime()) - Global.GetOffsetDay(fundItem.BuyTime) + 1;
                         }
                         if (dbItem.State == 1)
                         {
                             FundManager.initFundAwardNext(client, fundItem);
                         }
                     }
                 }
                 client.ClientData.MyFundData = fundData;
                 FundManager.CheckActivityTip(client);
             }
         }
     }
 }