public static int GetIdleSlotOfPaiZhuDamonGoods(GameClient client) { int idelPos = 0; int result; if (null == client.ClientData.PaiZhuDamonGoodsDataList) { result = idelPos; } else { List <int> usedBagIndex = new List <int>(); for (int i = 0; i < client.ClientData.PaiZhuDamonGoodsDataList.Count; i++) { if (client.ClientData.PaiZhuDamonGoodsDataList[i].Site == 10000) { if (usedBagIndex.IndexOf(client.ClientData.PaiZhuDamonGoodsDataList[i].BagIndex) < 0) { usedBagIndex.Add(client.ClientData.PaiZhuDamonGoodsDataList[i].BagIndex); } } } int nCapacity = JingLingYaoSaiManager.GetPaiZhuDamonBagCapacity(client); for (int j = 0; j < nCapacity; j++) { if (usedBagIndex.IndexOf(j) < 0) { idelPos = j; break; } } result = idelPos; } return(result); }
public static bool CanAddGoodsToPaiZhuDamonCangKu(GameClient client, int goodsID, int newGoodsNum, int binding, string endTime = "1900-01-01 12:00:00", bool canUseOld = true) { bool result; if (client.ClientData.PaiZhuDamonGoodsDataList == null) { result = true; } else { int gridNum = Global.GetGoodsGridNumByID(goodsID); gridNum = Global.GMax(gridNum, 1); bool findOldGrid = false; int totalGridNum = 0; lock (client.ClientData.PaiZhuDamonGoodsDataList) { for (int i = 0; i < client.ClientData.PaiZhuDamonGoodsDataList.Count; i++) { totalGridNum++; if (canUseOld && gridNum > 1) { if (client.ClientData.PaiZhuDamonGoodsDataList[i].GoodsID == goodsID && client.ClientData.PaiZhuDamonGoodsDataList[i].Binding == binding && Global.DateTimeEqual(client.ClientData.PaiZhuDamonGoodsDataList[i].Endtime, endTime)) { if (client.ClientData.PaiZhuDamonGoodsDataList[i].GCount + newGoodsNum <= gridNum) { findOldGrid = true; break; } } } } } if (findOldGrid) { result = true; } else { int totalMaxGridCount = JingLingYaoSaiManager.GetPaiZhuDamonBagCapacity(client); result = (totalGridNum < totalMaxGridCount); } } return(result); }