Esempio n. 1
0
        //移除道具
        public void RemoveItem(Auctions auc)
        {
            if (auc.mTrigger != null)
            {
                TeamServerControl.tm.DeleteTrigger(auc.mTrigger);
            }
            items.Remove(auc.ManagerId);
            var sdb = GetServerDb(auc.serverId);

            if (sdb == null)
            {
                Logger.Warn("AuctionManager RemoveItem id={0},serverid={1}", auc.ManagerId, auc.serverId);
                return;
            }
            sdb.Items.Remove(auc.ManagerId);
            var tbItem = Table.GetItemBase(auc.dbData.ItemData.ItemId);

            if (tbItem != null)
            {
                Dictionary <long, Auctions> finds;
                if (selects.TryGetValue(tbItem.AuctionType[2], out finds))
                {
                    finds.Remove(auc.ManagerId);
                }
            }
        }
Esempio n. 2
0
        //添加道具
        public void AddItem(Auctions auc, bool isAddDB = true)
        {
            var tbItem = Table.GetItemBase(auc.dbData.ItemData.ItemId);

            if (tbItem == null)
            {
                Logger.Warn("AuctionManager AddItem id={0},ItemId={1}", auc.ManagerId, auc.dbData.ItemData.ItemId);
                return;
            }
            if (isAddDB)
            {
                var sdb = GetServerDb(auc.serverId);
                if (sdb == null)
                {
                    Logger.Warn("AuctionManager AddItem id={0},serverid={1}", auc.ManagerId, auc.serverId);
                    return;
                }
                sdb.Items[auc.ManagerId] = auc.dbData;
            }
            var overTime = DateTime.FromBinary(auc.dbData.OverTime);

            //if (overTime < DateTime.Now)
            //{
            //    return;
            //}
            items[auc.ManagerId] = auc;
            var selectType = tbItem.AuctionType[2];
            Dictionary <long, Auctions> finds;

            if (!selects.TryGetValue(selectType, out finds))
            {
                finds = new Dictionary <long, Auctions>();
                selects[selectType] = finds;
            }
            finds.Add(auc.ManagerId, auc);
            auc.mTrigger = TeamServerControl.tm.CreateTrigger(overTime, auc.TimeOver);
        }