public override void Interact(User user) { RecordsHandler <ushort, Item> records = CharactersManager.Items.GetRecords(user.Character.id); if (records.GetFreeSlot(out dynamic slot)) { records.SetRecord(slot, item); user.RefreshItems(RecordType.BACKPACK, CharactersManager.Items.GetRecords(user.Character.id).records); CharactersManager.RemoveCharacter(id); } }
public void BuyItem(User user, ushort slot1) { RecordsHandler <ushort, Item> records = CharactersManager.Items.GetRecords(user.Character.id); if (records.GetFreeSlot(out dynamic slot)) { uint gold = CharactersManager.Stats.GetProperty <uint>(user.Character.id, ObjectStats.GOLD); Dictionary <ushort, Data.ShopItem> shop = ShopManager.GetVendorShop(this.baseId); if (shop.ContainsKey(slot1)) { if (shop[slot1].price <= gold) { Item item = ItemsManager.Instance.CreateItem(shop[slot1].itemId); CharactersManager.Stats.SetProperty <uint>(user.Character.id, ObjectStats.GOLD, (uint)(gold - shop[slot1].price)); records.SetRecord(slot, item); user.RefreshItems(RecordType.BACKPACK, CharactersManager.Items.GetRecords(user.Character.id).records); } } } }