public void Apply(NGoodsInfo goodsInfo, GoodsDefine goodsDefine) { GoodsLimit goodsLimit = null; if (GoodsLimits.TryGetValue(goodsInfo.Id, out goodsLimit)) { if (goodsLimit.Count + goodsInfo.Count <= goodsDefine.Limit) { goodsLimit.Add(goodsInfo.Count); } } else if (goodsInfo.Count <= goodsDefine.Limit) { TGoodsLimit limit = new TGoodsLimit() { GoodsID = goodsInfo.Id, Purchased = (short)goodsInfo.Count, TCharacter = Owner.Data }; Owner.Data.GoodsLimits.Add(limit); GoodsLimits.Add(goodsInfo.Id, new GoodsLimit(limit)); } Owner.statusManager.AddStatus(StatusType.Goodslimit, StatusAction.Add, goodsInfo.Id, goodsInfo.Count); }
public GoodsLimit(TGoodsLimit tGLimit) { tGoodsLimit = tGLimit; GoodsID = tGLimit.GoodsID; Count = tGLimit.Purchased; //Console.WriteLine($"GoodsLimit:{Count}"); LimitType = DataManager.Instance.Goods[GoodsID].LimitType; }