public static string ParseItem(InventoryItemModel item, ProductModel p) { bool relic = false; if (item.ItemName.Key.IndexOf("RELIC_") == 0) { relic = true; } string outText = "[" + GenerateIniName(item.ItemName.Key.Replace("RELIC_", "ITEM_")) + "]\n"; outText += "name={ffg:" + item.ItemName.Key + "}\n"; outText += "image=" + ImagePath(item.Icon.Path, p) + "\n"; outText += "traits="; foreach (ItemTraits trait in Enum.GetValues(typeof(ItemTraits))) { if ((item.Traits & trait) != 0) { outText += trait.ToString().ToLower() + " "; } } outText += item.Deck.ToString().ToLower() + "\n"; if (!relic) { outText += "minfame=" + item.MinGroupLevel.ToString().ToLower() + "\n"; outText += "maxfame=" + item.MaxGroupLevel.ToString().ToLower() + "\n"; outText += "price=" + item.CostBuy + "\n"; } return(outText); }
public CharacterInventory(Player character) { this.Player = character; if (!String.IsNullOrEmpty(character.Stuff)) { if (character.Stuff[character.Stuff.Length - 1] == '|') { character.Stuff = character.Stuff.Substring(0, character.Stuff.Length - 1); } InventoryItemTable.Load(character.Stuff.Replace("|", ",")); } foreach (String item in Regex.Split(character.Stuff, "\\|")) { if (String.IsNullOrEmpty(item)) { continue; } int guid = int.Parse(item); InventoryItemModel obj = InventoryItemTable.getItem(guid); if (obj != null) { Add(obj); } } }
public bool DoesMeetRequirement(UserDataModel userData) { if (userData.IsCurrencyRankExempt) { return(true); } InventoryModel inventory = this.GetInventory(); if (inventory == null) { return(false); } #pragma warning disable CS0612 // Type or member is obsolete if (!string.IsNullOrEmpty(this.ItemName)) { InventoryItemModel item = inventory.GetItem(this.ItemName); if (item != null) { this.ItemID = item.ID; } this.ItemName = null; } #pragma warning restore CS0612 // Type or member is obsolete return(inventory.HasAmount(userData, this.ItemID, this.Amount)); }
public override bool SellItem(WorldClient Client, InventoryItemModel Item, ushort Quantity) { if (this.myEnd) { return(false); } if (Quantity > Item.Quantity) { Quantity = (ushort)Item.Quantity; } uint Refund = (uint)Math.Floor((double)ItemTemplateTable.GetTemplate(Item.TemplateID).Price / 10) * Quantity; Client.Character.InventoryCache.AddKamas(Refund); if (Quantity == Item.Quantity) { //DatabaseEntities.TryDeleteItem(Item); InventoryItemTable.removeItem(Item.ID); Client.Send(new ObjectRemoveMessage(Item.ID)); } else { Client.Character.InventoryCache.UpdateObjectquantity(Item, Item.Quantity - Quantity); } Client.Send(new AccountStatsMessage(Client.Character)); return(true); }
public void SetInventoryRequirement(InventoryRequirementViewModel inventoryRequirement) { if (inventoryRequirement != null && ChannelSession.Settings.Inventory.ContainsKey(inventoryRequirement.InventoryID)) { this.EnableDisableToggleSwitch.IsChecked = true; this.InventoryTypeComboBox.ItemsSource = ChannelSession.Settings.Inventory.Values; this.InventoryTypeComboBox.SelectedItem = ChannelSession.Settings.Inventory[inventoryRequirement.InventoryID]; this.InventoryItemComboBox.IsEnabled = true; this.InventoryItemComboBox.ItemsSource = ChannelSession.Settings.Inventory[inventoryRequirement.InventoryID].Items.Values; #pragma warning disable CS0612 // Type or member is obsolete if (!string.IsNullOrEmpty(inventoryRequirement.ItemName)) { InventoryItemModel item = ChannelSession.Settings.Inventory[inventoryRequirement.InventoryID].GetItem(inventoryRequirement.ItemName); if (item != null) { inventoryRequirement.ItemID = item.ID; } inventoryRequirement.ItemName = null; } #pragma warning restore CS0612 // Type or member is obsolete if (ChannelSession.Settings.Inventory[inventoryRequirement.InventoryID].ItemExists(inventoryRequirement.ItemID)) { this.InventoryItemComboBox.SelectedItem = ChannelSession.Settings.Inventory[inventoryRequirement.InventoryID].GetItem(inventoryRequirement.ItemID); } this.InventoryItemAmountTextBox.IsEnabled = true; this.InventoryItemAmountTextBox.Text = inventoryRequirement.Amount.ToString(); } }
private void AddItem(InventoryItemModel itemInformation) { var newItem = Instantiate(itemPrefab, itemParent); newItem.GetComponent <InventoryItemUI>().Initialize(itemInformation, _demoImplementation); _items.Add(newItem); }
public override async Task <bool> Validate(UserViewModel user) { InventoryModel inventory = this.Inventory; if (inventory == null) { return(false); } InventoryItemModel item = this.Item; if (item == null) { return(false); } if (!user.Data.IsCurrencyRankExempt && !inventory.HasAmount(user.Data, item, this.Amount)) { await this.SendChatMessage(string.Format("You do not have the required {0} {1} to do this", this.Amount, item.Name)); return(false); } return(true); }
public static InventoryItemModel Load(long id) { var reader = DatabaseManager.Provider.ExecuteReader("SELECT * FROM inventory_item WHERE guid = " + id); InventoryItemModel itemToReturn = null; while (reader.Read()) { itemToReturn = new InventoryItemModel() { ID = reader.GetInt64("guid"), TemplateID = reader.GetInt32("template"), Quantity = reader.GetInt32("qua"), Position = reader.GetInt32("pos"), Effects = reader.GetString("stats"), SpeakingID = reader.GetInt64("speaking"), }; addItem(itemToReturn, false); } reader.Close(); if (itemToReturn.SpeakingID != 0) { SpeakingTable.Load(itemToReturn.ID); } return(itemToReturn); }
public async void TestUpdate(string expectedName) { var options = new DbContextOptionsBuilder <InventoryDbContext>().UseSqlServer(connString).Options; InventoryItemModel inventoryItem = new InventoryItemModel(); using (var context = new InventoryDbContext(options)) { inventoryItem.ItemId = 12; inventoryItem.ItemName = "Brush"; inventoryItem.ItemPrice = 12; inventoryItem.ItemDescription = "Only 7 piece is remaining"; inventoryItem.LastUpdateDate = DateTime.Now; var test = new Inventory_Repository(context); await test.Update(inventoryItem); } using (var context = new InventoryDbContext(options)) { var test = new Inventory_Repository(context); var result = await test.GetById(inventoryItem.ItemId); Assert.NotNull(result); Assert.Contains(expectedName, result.ItemName); } }
public static InventoryItemModel TryCreateItem(int templateId, Player Character, int quantity = 1, short position = -1, string Stats = null, Boolean useMax = false) { if (!ItemTemplateTable.Cache.ContainsKey(templateId)) // Template inexistant { return(null); } // Recup template var Template = ItemTemplateTable.GetTemplate(templateId); // Creation var Item = new InventoryItemModel() { ID = DatabaseCache.nextItemGuid++, TemplateID = templateId, Position = position, Quantity = quantity, Effects = (Stats == null ? (Template.Type == 113 ? Template.StatsTemplate : Template.GenerateStats(useMax).ToItemStats()) : Stats) }; Item.GetStats(); // Ajout de l'item dans l'inventaire if (Character.InventoryCache.Add(Item)) { addItem(Item, true); } return(Item); }
public static InventoryItemModel TryCreateItem(int templateId, TaxCollector TCollector, int quantity = 1, short position = -1, string Stats = null, Boolean useMax = false) { if (!ItemTemplateTable.Cache.ContainsKey(templateId)) // Template inexistant { return(null); } // Recup template var Template = ItemTemplateTable.GetTemplate(templateId); // Creation var Item = new InventoryItemModel() { ID = DatabaseCache.nextItemGuid++, TemplateID = templateId, Position = position, Quantity = quantity, Effects = (Stats == null ? Template.GenerateStats().ToItemStats() : Stats) }; Item.GetStats(); // Ajout de l'item dans l'inventaire TCollector.Items.Add(Item.ID, Item); addItem(Item, true); return(Item); }
public static void Load(string ids) { var reader = DatabaseManager.Provider.ExecuteReader("SELECT * FROM inventory_item WHERE guid IN (" + ids + ");"); List <long> LivingItem = new List <long>(); while (reader.Read()) { var item = new InventoryItemModel() { ID = reader.GetInt64("guid"), TemplateID = reader.GetInt32("template"), Quantity = reader.GetInt32("qua"), Position = reader.GetInt32("pos"), Effects = reader.GetString("stats"), SpeakingID = reader.GetInt64("speaking"), }; if (item.SpeakingID != 0) { LivingItem.Add(item.SpeakingID); } addItem(item, false); } reader.Close(); if (LivingItem.Count > 0) { SpeakingTable.Load(LivingItem); } }
public void OnItemUsed() { //handle equipping an item if (SelectedItem >= 0) { InventoryItemInstance itemInstance = ItemLookupTable[SelectedItem]; InventoryItemModel itemModel = itemInstance.ItemModel; if (itemModel is WeaponItemModel) { if (!itemInstance.Equipped) { GameState.Instance.Player.EquipWeapon(itemInstance); QdmsMessageBus.Instance.PushBroadcast(new RpgChangeWeaponMessage()); SelectedItemText.text = SelectedItemText.text + " [!]"; } //TODO unequip? } else if (itemModel is AidItemModel) { var aim = (AidItemModel)itemModel; aim.Apply(); GameState.Instance.Player.RemoveItem(ItemLookupTable[SelectedItem]); //TODO effect or at least a message } SignalPaint(); } }
/// <summary> /// Saves this instance. /// </summary> /// <returns>System.Int32.</returns> public string Save() { var inventoryItem = new InventoryItemModel { InventoryItemId = View.InventoryItemId, InventoryCategoryId = View.InventoryCategoryId, InventoryItemCode = View.InventoryItemCode, InventoryItemName = View.InventoryItemName, Description = View.Description, Unit = View.Unit, ConvertUnit = View.ConvertUnit, ConvertRate = View.ConvertRate, UnitPrice = View.UnitPrice, SalePrice = View.SalePrice, DefaultStockId = View.DefaultStockId, DepartmentId = View.DepartmentId, InventoryAccount = View.InventoryAccount, COGSAccount = View.COGSAccount, SaleAccount = View.SaleAccount, CostMethod = View.CostMethod, AccountingObjectId = View.AccountingObjectId, TaxRate = View.TaxRate, IsTool = View.IsTool, IsService = View.IsService, IsActive = View.IsActive, IsTaxable = View.IsTaxable, IsStock = View.IsStock, MadeIn = View.MadeIn }; return(View.InventoryItemId == null?Model.InsertInventoryItem(inventoryItem) : Model.UpdateInventoryItem(inventoryItem)); }
public void OnItemDropped() { if (SelectedItem >= 0) { InventoryItemInstance itemInstance = ItemLookupTable[SelectedItem]; InventoryItemModel itemModel = itemInstance.ItemModel; if (itemModel.Essential) { Debug.LogWarning("Tried to drop an essential item!"); } if (itemInstance.Equipped) { GameState.Instance.PlayerRpgState.UnequipItem(itemInstance); } if (itemModel.Stackable) { //do quantity selection with modal dialogue if inventory is stackable Modal.PushQuantityModal("Quantity To Drop", 0, itemInstance.Quantity, itemInstance.Quantity, true, string.Empty, delegate(ModalStatusCode status, string tag, int quantity) { CompleteItemDrop(itemInstance, itemModel, quantity, status); }, true); //like I don't see why that won't work but holy shit is it ugly } else { CompleteItemDrop(itemInstance, itemModel, 1, ModalStatusCode.Complete); } } }
private void DeleteItemButton_Click(object sender, RoutedEventArgs e) { Button button = (Button)sender; InventoryItemModel item = (InventoryItemModel)button.DataContext; this.viewModel.Items.Remove(item); this.viewModel.SelectedItem = null; }
public static void removeFromBank(Player character, int guid, int qua) { InventoryItemModel BankObj = InventoryItemTable.getItem(guid); if (BankObj == null) { character.Send(new BasicNoOperationMessage()); return; } if (!character.Client.Account.Data.bankItems.ContainsKey(guid)) { Logger.Error("Le joueur " + character.Name + " a tenter de retirer un Item en banque qu'il n'avait pas."); } InventoryItemModel PersoObj = character.InventoryCache.ItemsCache.Values.FirstOrDefault(x => x.TemplateID == BankObj.TemplateID && x.GetStats().ToItemStats() == BankObj.GetStats().ToItemStats() && x.ID != BankObj.ID && x.Position == -1); /* getSimilarBankItem(Character, BankObj);*/ int newQua = BankObj.Quantity - qua; if (PersoObj == null) { if (newQua <= 0) { character.Client.Account.Data.bankItems.Remove(guid); character.InventoryCache.Add(BankObj, false); String str = "O-" + guid; character.Send(new BankUpdateMessage(str)); } else { PersoObj = getCloneItem(BankObj, qua); InventoryItemTable.addItem(PersoObj, true); character.InventoryCache.Add(PersoObj, false); String str = "O+" + BankObj.ID + "|" + BankObj.Quantity + "|" + BankObj.TemplateID + "|" + BankObj.GetStats().ToItemStats(); character.Send(new BankUpdateMessage(str)); } } else { if (newQua <= 0) { character.Client.Account.Data.bankItems.Remove(BankObj.ID); InventoryItemTable.removeItem(BankObj.ID); PersoObj.Quantity += BankObj.Quantity; character.Send(new ObjectQuantityMessage(PersoObj.ID, PersoObj.Quantity)); String str = "O-" + guid; character.Send(new BankUpdateMessage(str)); } else { BankObj.Quantity = newQua; PersoObj.Quantity += qua; character.Send(new ObjectQuantityMessage(PersoObj.ID, PersoObj.Quantity)); String str = "O+" + BankObj.ID + "|" + BankObj.Quantity + "|" + BankObj.TemplateID + "|" + BankObj.GetStats().ToItemStats(); character.Send(new BankUpdateMessage(str)); } } //SEND POD MESSAGE ? character.GetClient().Account.Data.Save(); }
private InventoryItemModel GetInventoryItemBy(CatalogItemModel item) { string json = item.SerializeToJson(); InventoryItemModel inventoryItemModel = json.DeserializeTo <InventoryItemModel>(); inventoryItemModel.RemainingUses = 1; inventoryItemModel.InstanceId = null; return(inventoryItemModel); }
private static void ProcessObjectUseRequest(WorldClient Client, string Packet) { int guid = -1; int targetGuid = -1; int targetCell = -1; Player Target = null; try { String[] infos = Regex.Split(Packet.Substring(2), "\\|"); guid = int.Parse(infos[0]); if (infos.Length == 3) { targetCell = int.Parse(infos[2]); } try //try { targetGuid = int.Parse(infos[1]); } catch (Exception e) { targetGuid = -1; }; } catch (Exception e) { Logger.Error(e); return; } if (CharacterTable.GetCharacter(targetGuid) != null) { Target = CharacterTable.GetCharacter(targetGuid); } if (!Client.Character.InventoryCache.hasItemGuid(guid)) { return; } InventoryItemModel obj = InventoryItemTable.getItem(guid); ItemTemplateModel T = obj.Template; if (!T.Criterions.Equals("") && !ConditionParser.validConditions(Client.Character, T.Criterions)) { Client.Send(new ImMessage("119|43")); return; } if (T.ItemType == ItemTypeEnum.ITEM_TYPE_PAIN || T.ItemType == ItemTypeEnum.ITEM_TYPE_VIANDE_COMESTIBLE) { Client.Character.myMap.SendToMap(new MapEmoticoneMessage(Client.Character.ActorId, 17)); } else if (T.ItemType == ItemTypeEnum.ITEM_TYPE_BIERE) { Client.Character.myMap.SendToMap(new MapEmoticoneMessage(Client.Character.ActorId, 18)); } T.applyAction(Client.Character, Target, guid, (short)targetCell); }
private void LoadInventory() { var inventory = App.InventoryRepository.GetSome(uxSearchInput.Text); uxInventoryList.ItemsSource = inventory .Select(t => InventoryItemModel.ToModel(t)) .ToList(); uxItemCount.Text = uxInventoryList.Items.Count + " Inventory Items"; }
public void ConsumeInventoryItem(InventoryItemModel item, uint count, Action <InventoryItemModel> onSuccess, Action <InventoryItemModel> onFailed = null) { StoreDemoPopup.ConsumeConfirmation(item.Name, count, () => { StoreDemoPopup.ShowSuccess(); RemoveItemFromInventory(item, count); onSuccess?.Invoke(item); }, () => onFailed?.Invoke(item)); }
private void OnItemIncrease(InventoryItemModel item, int amount, int delta, bool added) { if (!added) { return; } _creation_items_queue.Enqueue(item); _total_items_count++; SetContentSize(); }
public static void addItem(InventoryItemModel item, bool saveSQL) { if (Items.ContainsKey(item.ID)) { Items.Remove(item.ID); } Items.Add(item.ID, item); if (saveSQL) { Add(item); } }
internal void Clear() { _mover.Stop(); icon_img.sprite = null; icon_img.enabled = false; _inventory_item.OnIncrease -= OnIncrease; _inventory_item.OnDecrease -= OnDecrease; _inventory_item = null; dragable_item.Clear(); gameObject.SetActive(false); }
public static InventoryItemModel getCloneItem(InventoryItemModel obj, int qua) { InventoryItemModel ob = new InventoryItemModel() { ID = DatabaseCache.nextItemGuid++, TemplateID = obj.TemplateID, Quantity = qua, Position = -1, Effects = obj.GetStats().ToItemStats(), }; return(ob); }
public async Task <IActionResult> Put([FromBody] InventoryItemModel inventoryItem) { try { inventoryItem.LastUpdateDate = DateTime.Now; await _genericRepository.Update(inventoryItem); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public void ConsumeInventoryItem(InventoryItemModel item, uint count, [NotNull] Action <InventoryItemModel> onSuccess, [CanBeNull] Action <InventoryItemModel> onFailed = null) { StoreDemoPopup.ConsumeConfirmation(item.Name, count, () => { PlayfabApi.Inventory.ConsumeItem(item.InstanceId, count, () => { StoreDemoPopup.ShowSuccess(); onSuccess?.Invoke(item); }, GetErrorCallback(_ => onFailed?.Invoke(item))); }, () => onFailed?.Invoke(item) ); }
public bool Add(InventoryItemModel item, bool merge = true) { if (merge && TryMergeItem(item.TemplateID, item.Effects, item.Slot, item.Quantity)) { return(false); } if (ItemsCache.ContainsKey(item.ID)) { ItemsCache.Remove(item.ID); } ItemsCache.Add(item.ID, item); Player.Send(new ObjectAddInventoryMessage(item)); return(true); }
private static InventoryItemModel getSimilarBankItem(Player character, InventoryItemModel obj) { foreach (InventoryItemModel value in character.Client.Account.Data.bankItems.Values.Where(x => x.Template.ID == obj.Template.ID)) { if (value.Template.ItemType == ItemTypeEnum.ITEM_TYPE_PIERRE_AME_PLEINE) { continue; } if (value.GetStats().ToItemStats() == obj.GetStats().ToItemStats()) { return(value); } } return(null); }
private void CompleteItemDrop(InventoryItemInstance itemInstance, InventoryItemModel itemModel, int quantity, ModalStatusCode status) { if (quantity == 0 || status != ModalStatusCode.Complete) { return; } GameState.Instance.PlayerRpgState.Inventory.RemoveItem(itemInstance, quantity); Transform playerT = WorldUtils.GetPlayerObject().transform; Vector3 dropPos = (playerT.position + (playerT.forward.normalized * 1.0f)); RpgWorldUtils.DropItem(itemModel, quantity, dropPos); SignalPaint(); }