//移除道具 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); } } }
//添加道具 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); }