コード例 #1
0
        public BangHuiLingDiInfoData AddLingDiTaxMoney(int bhid, int lingDiID, int addMoney)
        {
            int dayID = DateTime.Now.DayOfYear;
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (this._BangHuiLingDiItemsDict)
            {
                if (!this._BangHuiLingDiItemsDict.TryGetValue(lingDiID, out bangHuiLingDiInfoData))
                {
                    return(null);
                }
                if (bangHuiLingDiInfoData.BHID != bhid)
                {
                    return(null);
                }
                bangHuiLingDiInfoData.TotalTax += addMoney;
                if (bangHuiLingDiInfoData.TaxDayID == dayID)
                {
                    bangHuiLingDiInfoData.TodayTax += addMoney;
                }
                else
                {
                    bangHuiLingDiInfoData.YestodayTax = bangHuiLingDiInfoData.TodayTax;
                    bangHuiLingDiInfoData.TaxDayID    = dayID;
                    bangHuiLingDiInfoData.TodayTax    = addMoney;
                }
            }
            return(bangHuiLingDiInfoData);
        }
コード例 #2
0
        public TCPOutPacket GetBangHuiLingDiInfosDictTCPOutPacket(TCPOutPacketPool pool, int bhid, int cmdID)
        {
            Dictionary <int, BangHuiLingDiInfoData> bangHuiLingDiInfoDataDict = new Dictionary <int, BangHuiLingDiInfoData>();

            lock (this._BangHuiLingDiItemsDict)
            {
                foreach (int key in this._BangHuiLingDiItemsDict.Keys)
                {
                    BangHuiLingDiInfoData bangHuiLingDiInfoData = this._BangHuiLingDiItemsDict[key];
                    if (bhid == bangHuiLingDiInfoData.BHID)
                    {
                        bangHuiLingDiInfoDataDict[key] = new BangHuiLingDiInfoData
                        {
                            LingDiID    = bangHuiLingDiInfoData.LingDiID,
                            BHID        = bangHuiLingDiInfoData.BHID,
                            ZoneID      = bangHuiLingDiInfoData.ZoneID,
                            BHName      = bangHuiLingDiInfoData.BHName,
                            LingDiTax   = bangHuiLingDiInfoData.LingDiTax,
                            TakeDayID   = bangHuiLingDiInfoData.TakeDayID,
                            TakeDayNum  = bangHuiLingDiInfoData.TakeDayNum,
                            YestodayTax = bangHuiLingDiInfoData.YestodayTax,
                            TaxDayID    = bangHuiLingDiInfoData.TaxDayID,
                            TodayTax    = bangHuiLingDiInfoData.TodayTax,
                            TotalTax    = bangHuiLingDiInfoData.TotalTax
                        };
                    }
                }
            }
            return(DataHelper.ObjectToTCPOutPacket <Dictionary <int, BangHuiLingDiInfoData> >(bangHuiLingDiInfoDataDict, pool, cmdID));
        }
コード例 #3
0
        public BangHuiLingDiInfoData TakeLingDiTaxMoney(int bhid, int lingDiID, int takeMoney)
        {
            int dayID = DateTime.Now.DayOfYear;
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (this._BangHuiLingDiItemsDict)
            {
                if (!this._BangHuiLingDiItemsDict.TryGetValue(lingDiID, out bangHuiLingDiInfoData))
                {
                    return(null);
                }
                if (bangHuiLingDiInfoData.BHID != bhid)
                {
                    return(null);
                }
                if (dayID == bangHuiLingDiInfoData.TakeDayID)
                {
                    if (bangHuiLingDiInfoData.TakeDayNum >= 1)
                    {
                        return(null);
                    }
                }
                if ((double)takeMoney > (double)bangHuiLingDiInfoData.TotalTax * 0.25)
                {
                    return(null);
                }
                bangHuiLingDiInfoData.TakeDayID  = dayID;
                bangHuiLingDiInfoData.TakeDayNum = 1;
                bangHuiLingDiInfoData.TotalTax   = Math.Max(bangHuiLingDiInfoData.TotalTax - takeMoney, 0);
            }
            return(bangHuiLingDiInfoData);
        }
コード例 #4
0
        /// <summary>
        /// 获取领地信息字典项的发送tcp对象
        /// </summary>
        public TCPOutPacket GetBangHuiLingDiItemsDictTCPOutPacket(TCPOutPacketPool pool, int cmdID)
        {
            Dictionary <int, BangHuiLingDiItemData> bangHuiLingDiItemDataDict = new Dictionary <int, BangHuiLingDiItemData>();
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (_BangHuiLingDiItemsDict)
            {
                foreach (var key in _BangHuiLingDiItemsDict.Keys)
                {
                    bangHuiLingDiInfoData          = _BangHuiLingDiItemsDict[key];
                    bangHuiLingDiItemDataDict[key] = new BangHuiLingDiItemData()
                    {
                        LingDiID      = bangHuiLingDiInfoData.LingDiID,
                        BHID          = bangHuiLingDiInfoData.BHID,
                        ZoneID        = bangHuiLingDiInfoData.ZoneID,
                        BHName        = bangHuiLingDiInfoData.BHName,
                        LingDiTax     = bangHuiLingDiInfoData.LingDiTax,
                        WarRequest    = bangHuiLingDiInfoData.WarRequest,
                        AwardFetchDay = bangHuiLingDiInfoData.AwardFetchDay,
                    };
                }
            }

            TCPOutPacket tcpOutPacket = DataHelper.ObjectToTCPOutPacket <Dictionary <int, BangHuiLingDiItemData> >(bangHuiLingDiItemDataDict, pool, cmdID);

            return(tcpOutPacket);
        }
コード例 #5
0
        /// <summary>
        /// 提取每日奖励,这儿主要设置日标志位
        /// </summary>
        public BangHuiLingDiInfoData TakeLingDiDailyAward(int bhid, int lingDiID)
        {
            int dayID = DateTime.Now.DayOfYear;
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (_BangHuiLingDiItemsDict)
            {
                if (!_BangHuiLingDiItemsDict.TryGetValue(lingDiID, out bangHuiLingDiInfoData))
                {
                    return(null);
                }

                if (bangHuiLingDiInfoData.BHID != bhid)
                {
                    return(null);
                }

                if (dayID == bangHuiLingDiInfoData.AwardFetchDay)
                {
                    return(null);
                }

                bangHuiLingDiInfoData.AwardFetchDay = dayID;
            }

            return(bangHuiLingDiInfoData);
        }
コード例 #6
0
        /// <summary>
        /// 从数据库中获取领地占领列表
        /// </summary>
        public void LoadBangHuiLingDiItemsDictFromDB(DBManager dbMgr)
        {
            //获取领地势力分布字典
            DBQuery.QueryBHLingDiInfoDict(dbMgr, _BangHuiLingDiItemsDict);

            for (int i = (int)LingDiIDs.YanZhou; i < (int)LingDiIDs.MaxVal; i++)
            {
                if (!_BangHuiLingDiItemsDict.ContainsKey(i))
                {
                    BangHuiLingDiInfoData BangHuiLingDiInfoData = new BangHuiLingDiInfoData()
                    {
                        LingDiID = i,
                        //BHID = 0,
                        ZoneID      = 0,
                        BHName      = "",
                        LingDiTax   = 0,
                        TakeDayID   = 0,
                        TakeDayNum  = 0,
                        YestodayTax = 0,
                        TaxDayID    = 0,
                        TodayTax    = 0,
                        TotalTax    = 0,
                        //WarRequest = "",
                        //AwardFetchDay = 0,
                    };

                    _BangHuiLingDiItemsDict[BangHuiLingDiInfoData.LingDiID] = BangHuiLingDiInfoData;
                }
            }
        }
コード例 #7
0
        /// <summary>
        /// 清空指定领地的所属帮会信息---->注 这儿不能情况warrequest字段,领地争夺战请求字段不能随便改
        /// </summary>
        /// <param name="bhid"></param>
        public BangHuiLingDiInfoData ClearLingDiBangHuiInfo(int lingDiID)
        {
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (_BangHuiLingDiItemsDict)
            {
                if (!_BangHuiLingDiItemsDict.TryGetValue(lingDiID, out bangHuiLingDiInfoData))
                {
                    return(null);
                }

                bangHuiLingDiInfoData.BHID        = 0;
                bangHuiLingDiInfoData.ZoneID      = 0;
                bangHuiLingDiInfoData.BHName      = "";
                bangHuiLingDiInfoData.LingDiTax   = 0;
                bangHuiLingDiInfoData.TakeDayID   = 0;
                bangHuiLingDiInfoData.TakeDayNum  = 0;
                bangHuiLingDiInfoData.YestodayTax = 0;
                bangHuiLingDiInfoData.TaxDayID    = 0;
                bangHuiLingDiInfoData.TodayTax    = 0;
                bangHuiLingDiInfoData.TotalTax    = 0;
            }

            return(bangHuiLingDiInfoData);
        }
コード例 #8
0
        public BangHuiLingDiInfoData FindBangHuiLingDiByID(int lingDiID)
        {
            BangHuiLingDiInfoData BangHuiLingDiInfoData = null;

            lock (this._BangHuiLingDiItemsDict)
            {
                if (!this._BangHuiLingDiItemsDict.TryGetValue(lingDiID, out BangHuiLingDiInfoData))
                {
                    return(null);
                }
            }
            return(BangHuiLingDiInfoData);
        }
コード例 #9
0
        public BangHuiLingDiInfoData UpdateBangHuiLingDiWarRequest(int lingDiID, string warRequest)
        {
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (this._BangHuiLingDiItemsDict)
            {
                if (!this._BangHuiLingDiItemsDict.TryGetValue(lingDiID, out bangHuiLingDiInfoData))
                {
                    return(null);
                }
                bangHuiLingDiInfoData.WarRequest = warRequest;
            }
            return(bangHuiLingDiInfoData);
        }
コード例 #10
0
        /// <summary>
        /// 添加帮会占领领地
        /// </summary>
        public BangHuiLingDiInfoData AddBangHuiLingDi(int bhid, int zoneID, string bhName, int lingDiID)
        {
            BangHuiLingDiInfoData BangHuiLingDiInfoData = null;

            lock (_BangHuiLingDiItemsDict)
            {
                if (!_BangHuiLingDiItemsDict.ContainsKey(lingDiID))
                {
                    BangHuiLingDiInfoData = new BangHuiLingDiInfoData()
                    {
                        LingDiID    = lingDiID,
                        BHID        = bhid,
                        ZoneID      = zoneID,
                        BHName      = bhName,
                        LingDiTax   = 0,
                        TakeDayID   = 0,
                        TakeDayNum  = 0,
                        YestodayTax = 0,
                        TaxDayID    = 0,
                        TodayTax    = 0,
                        TotalTax    = 0,
                    };

                    _BangHuiLingDiItemsDict[BangHuiLingDiInfoData.LingDiID] = BangHuiLingDiInfoData;
                }
                else
                {
                    BangHuiLingDiInfoData = _BangHuiLingDiItemsDict[lingDiID];

                    if (BangHuiLingDiInfoData.BHID != bhid) //如果是新的帮会,则清空原有的税收设置
                    {
                        BangHuiLingDiInfoData.LingDiTax   = 0;
                        BangHuiLingDiInfoData.TakeDayID   = 0;
                        BangHuiLingDiInfoData.TakeDayNum  = 0;
                        BangHuiLingDiInfoData.YestodayTax = 0;
                        BangHuiLingDiInfoData.TaxDayID    = 0;
                        BangHuiLingDiInfoData.TodayTax    = 0;
                        BangHuiLingDiInfoData.TotalTax    = 0;
                    }

                    BangHuiLingDiInfoData.BHID   = bhid;
                    BangHuiLingDiInfoData.ZoneID = zoneID;
                    BangHuiLingDiInfoData.BHName = bhName;
                }
            }

            return(BangHuiLingDiInfoData);
        }
コード例 #11
0
        public BangHuiLingDiInfoData UpdateBangHuiLingDiTax(int bhid, int lingDiID, int tax)
        {
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (this._BangHuiLingDiItemsDict)
            {
                if (!this._BangHuiLingDiItemsDict.TryGetValue(lingDiID, out bangHuiLingDiInfoData))
                {
                    return(null);
                }
                if (bangHuiLingDiInfoData.BHID != bhid)
                {
                    return(null);
                }
                bangHuiLingDiInfoData.LingDiTax = tax;
            }
            return(bangHuiLingDiInfoData);
        }
コード例 #12
0
        public TCPOutPacket GetBangHuiLingDiItemsDictTCPOutPacket(TCPOutPacketPool pool, int cmdID)
        {
            Dictionary <int, BangHuiLingDiItemData> bangHuiLingDiItemDataDict = new Dictionary <int, BangHuiLingDiItemData>();

            lock (this._BangHuiLingDiItemsDict)
            {
                foreach (int key in this._BangHuiLingDiItemsDict.Keys)
                {
                    BangHuiLingDiInfoData bangHuiLingDiInfoData = this._BangHuiLingDiItemsDict[key];
                    bangHuiLingDiItemDataDict[key] = new BangHuiLingDiItemData
                    {
                        LingDiID      = bangHuiLingDiInfoData.LingDiID,
                        BHID          = bangHuiLingDiInfoData.BHID,
                        ZoneID        = bangHuiLingDiInfoData.ZoneID,
                        BHName        = bangHuiLingDiInfoData.BHName,
                        LingDiTax     = bangHuiLingDiInfoData.LingDiTax,
                        WarRequest    = bangHuiLingDiInfoData.WarRequest,
                        AwardFetchDay = bangHuiLingDiInfoData.AwardFetchDay
                    };
                }
            }
            return(DataHelper.ObjectToTCPOutPacket <Dictionary <int, BangHuiLingDiItemData> >(bangHuiLingDiItemDataDict, pool, cmdID));
        }
コード例 #13
0
 public void LoadBangHuiLingDiItemsDictFromDB(DBManager dbMgr)
 {
     DBQuery.QueryBHLingDiInfoDict(dbMgr, this._BangHuiLingDiItemsDict);
     for (int i = 1; i < 7; i++)
     {
         if (!this._BangHuiLingDiItemsDict.ContainsKey(i))
         {
             BangHuiLingDiInfoData BangHuiLingDiInfoData = new BangHuiLingDiInfoData
             {
                 LingDiID    = i,
                 ZoneID      = 0,
                 BHName      = "",
                 LingDiTax   = 0,
                 TakeDayID   = 0,
                 TakeDayNum  = 0,
                 YestodayTax = 0,
                 TaxDayID    = 0,
                 TodayTax    = 0,
                 TotalTax    = 0
             };
             this._BangHuiLingDiItemsDict[BangHuiLingDiInfoData.LingDiID] = BangHuiLingDiInfoData;
         }
     }
 }
コード例 #14
0
        /// <summary>
        /// 获取领地信息字典项的发送tcp对象
        /// </summary>
        public TCPOutPacket GetBangHuiLingDiInfosDictTCPOutPacket(TCPOutPacketPool pool, int bhid, int cmdID)
        {
            Dictionary <int, BangHuiLingDiInfoData> bangHuiLingDiInfoDataDict = new Dictionary <int, BangHuiLingDiInfoData>();
            BangHuiLingDiInfoData bangHuiLingDiInfoData = null;

            lock (_BangHuiLingDiItemsDict)
            {
                foreach (var key in _BangHuiLingDiItemsDict.Keys)
                {
                    bangHuiLingDiInfoData = _BangHuiLingDiItemsDict[key];
                    if (bhid != bangHuiLingDiInfoData.BHID)
                    {
                        continue;
                    }

                    bangHuiLingDiInfoDataDict[key] = new BangHuiLingDiInfoData()
                    {
                        LingDiID    = bangHuiLingDiInfoData.LingDiID,
                        BHID        = bangHuiLingDiInfoData.BHID,
                        ZoneID      = bangHuiLingDiInfoData.ZoneID,
                        BHName      = bangHuiLingDiInfoData.BHName,
                        LingDiTax   = bangHuiLingDiInfoData.LingDiTax,
                        TakeDayID   = bangHuiLingDiInfoData.TakeDayID,
                        TakeDayNum  = bangHuiLingDiInfoData.TakeDayNum,
                        YestodayTax = bangHuiLingDiInfoData.YestodayTax,
                        TaxDayID    = bangHuiLingDiInfoData.TaxDayID,
                        TodayTax    = bangHuiLingDiInfoData.TodayTax,
                        TotalTax    = bangHuiLingDiInfoData.TotalTax,
                    };
                }
            }

            TCPOutPacket tcpOutPacket = DataHelper.ObjectToTCPOutPacket <Dictionary <int, BangHuiLingDiInfoData> >(bangHuiLingDiInfoDataDict, pool, cmdID);

            return(tcpOutPacket);
        }