public MerchantItem(Character owner, int guid, ItemTemplate template, List <EffectBase> effects, uint stack, uint price) { Record = new PlayerMerchantItemRecord // create the associated record { Id = guid, OwnerId = owner.Id, Template = template, Stack = stack, Price = price, Effects = effects, }; }
public MerchantItem CreateMerchantItem(Character character, BasePlayerItem item, int amount, uint price) { if (amount < 0) { throw new ArgumentException("amount < 0", "amount"); } var guid = PlayerMerchantItemRecord.PopNextId(); var record = new PlayerMerchantItemRecord // create the associated record { Id = guid, OwnerId = character.Id, Price = price, Template = item.Template, Stack = (uint)amount, Effects = new List <EffectBase>(item.Effects), IsNew = true }; return(new MerchantItem(record)); }