ArkaliaCore.Game.Game.Items.ItemStack.Extract C# (CSharp) Метод

Extract() публичный Метод

public Extract ( int quantity ) : ItemStack
quantity int
Результат ItemStack
        public ItemStack Extract(int quantity)
        {
            if (quantity <= this.WItem.Quantity)//Anti-Cheat checking
            {
                //Build new items from this stack
                var newItem = new Database.Models.WorldItemModel();
                newItem.ID = Database.Tables.WorldItemTable.TempID;
                newItem.Owner = this.WItem.Owner;
                newItem.Position = this.WItem.Position;
                newItem.TemplateID = this.WItem.TemplateID;
                newItem.Effects = this.WItem.Effects;
                newItem.Quantity = quantity;
                newItem.Engine = new Engines.EffectEngine(newItem.Effects);
                newItem.Engine.Load();

                //Build new stack
                var newStack = new ItemStack(newItem);

                //Remove the quantity duplicated
                this.WItem.Quantity -= quantity;

                return newStack;
            }
            else
            {
                return this;
            }
        }