Esempio n. 1
0
        private void RefreshBuyingSellingInventory()
        {
            if (TradeProps == null)
            {
                return;
            }

            TradeProps.Buying.List.Shuffle(World.Rand);
            int quantity = Math.Min(TradeProps.Buying.List.Length, TradeProps.Buying.MaxItems);

            for (int i = 0; i < quantity; i++)
            {
                ItemSlotTrade slot      = Inventory.GetBuyingSlot(i);
                TradeItem     tradeItem = TradeProps.Buying.List[i];
                if (tradeItem.Name == null)
                {
                    tradeItem.Name = i + "";
                }

                slot.SetTradeItem(tradeItem.Resolve(World));
                slot.MarkDirty();
            }


            TradeProps.Selling.List.Shuffle(World.Rand);
            quantity = Math.Min(TradeProps.Selling.List.Length, TradeProps.Selling.MaxItems);

            //Console.WriteLine("==================");
            //Console.WriteLine("resolving for " + EntityId + ", total items: " +TradeConf.Selling.List.Length + ", on side " + api.Side);


            for (int i = 0; i < quantity; i++)
            {
                ItemSlotTrade slot      = Inventory.GetSellingSlot(i);
                TradeItem     tradeItem = TradeProps.Selling.List[i];
                if (tradeItem.Name == null)
                {
                    tradeItem.Name = i + "";
                }

                slot.SetTradeItem(tradeItem.Resolve(World));
                slot.MarkDirty();
                //Console.WriteLine("resolved to: " + slot.Itemstack);
            }


            ITreeAttribute tree = GetOrCreateTradeStore();

            Inventory.ToTreeAttributes(tree);
        }