internal bool AddItemToInventory(ItemContainer item, int stcCnt = 1) { //Todo: make sure about the carry count of user //Should match with the AddItemToInventory in InventoryHandler //CheckUniqueness var existingItem = ItemInInventory(item.Id); if (existingItem != null) { if (item.Unique) { return(false); } if (existingItem.UserItem.StackCnt + stcCnt <= item.MaxStackCnt) { existingItem.UserItem.StackCnt++; _userDatabase.UpdateUserInventory(); return(true); } } int order = FindAvailableSlot(); if (order == -1) { return(false); } var userItem = new UserItem(item, UserPlayer.Id, stcCnt, order); var newItem = new ItemIns(item, userItem); var inventoryManager = InventoryManager.Instance(); inventoryManager.AddItemToInventory(newItem); return(true); }
void Update() { if (ItemIns == null) { return; } if (ItemIns.UserItem.StackCnt == 0) { _inv.DeleteFromInventory(ItemIns); //Logic of adding empty Item to Slot ItemIns = null; this.transform.name = "Empty"; this.GetComponent <Image>().sprite = EmptySprite; //Update Text _stackCntText.text = ""; _inv.InvSlots[SlotIndex].transform.name = this.transform.name; } else { if (ItemIns.UserItem.StackCnt.ToString() != _stackCntText.text) { _stackCntText.text = ItemIns.UserItem.StackCnt > 1 ? ItemIns.UserItem.StackCnt.ToString() : ""; } } }
internal void DeleteItemFromInventory(ItemIns itemIns) { Debug.Log("IM-Item " + itemIns.MyInfo() + " Will be Deleted from Order " + itemIns.UserItem.Order); _characterManager.CharacterInventory.Remove(itemIns); _userDatabase.DeleteItemFromInventory(itemIns.UserItem); RefreshInventory(); }
internal void AddItemToInventory(ItemIns itemIns) { Debug.Log("IM-Item " + itemIns.MyInfo() + " Will be added to order " + itemIns.UserItem.Order); _characterManager.CharacterInventory.Add(itemIns); _userDatabase.UpdateUserInventory(itemIns.UserItem); RefreshInventory(); }
public void UnUseItem(ItemIns item) { if (item == null) { return; } _characterManager.CharacterSettingUnuseItem(item, true); }
//internal void Activate(ItemContainer item) //{ // if (item != null) // { // _tooltip.transform.GetComponentInChildren<TextMeshProUGUI>().text = item.GetTooltip(); // TooltipObject.SetActive(true); // TooltipObject.transform.position = Input.mousePosition; // } //} public void Activate(ItemIns itemIns) { if (itemIns != null) { _tooltip.transform.GetComponentInChildren <TextMeshProUGUI>().text = itemIns.GetTooltip(); TooltipObject.SetActive(true); TooltipObject.transform.position = Input.mousePosition; } }
internal void LoadItem(ItemIns itemIns) { if (ItemIns != null) { _inv.UnUseItem(ItemIns); } this.ItemIns = itemIns; LoadItem(); }
public void LoadEmpty() { ItemIns = null; GetComponent <Image>().sprite = DefaultSprite; _time = DateTime.MinValue; ItemLocked = false; TextMeshProUGUI[] texts = this.transform.parent.GetComponentsInChildren <TextMeshProUGUI>(); texts[0].text = ""; texts[1].text = "Empty"; //Save empty item in mixture _inv.SaveCharacterMixture(0, 0, DateTime.Now); }
internal void LoadItem(int itemId, int stackCnt, DateTime time) { var itemDatabase = ItemDatabase.Instance(); var item = itemDatabase.GetItemById(itemId); ItemIns = new ItemIns(item, new UserItem(item, _characterManager.UserPlayer.Id, stackCnt)); _stackCnt = stackCnt; GetComponent <Image>().sprite = item.GetSprite(); _time = time; ItemLocked = true; TextMeshProUGUI[] texts = this.transform.parent.GetComponentsInChildren <TextMeshProUGUI>(); texts[0].text = _stackCnt > 1 ? _stackCnt.ToString() : ""; texts[1].text = (_time - DateTime.Now).ToString(); }
internal void LoadItem() { if (ItemIns == null) { this.ItemIns = null; GetComponent <Image>().sprite = EmptySprite; this.transform.name = "Empty"; } else { Sprite itemSprite = ItemIns.Item.GetSprite(); GetComponent <Image>().sprite = itemSprite != null ? itemSprite : EmptySprite; this.transform.name = ItemIns.Item.Name; } _inv.UpdateInventory(); }
internal void CharacterSettingUnuseItem(ItemIns itemIns, bool save) { if (itemIns == null) { return; } var item = itemIns.Item; switch (itemIns.Item.Type) { case ItemContainer.ItemType.Consumable: return; case ItemContainer.ItemType.Equipment: CharacterSetting.Agility -= item.Agility; CharacterSetting.Bravery -= item.Bravery; CharacterSetting.Carry -= item.Carry; CharacterSetting.CarryCnt -= item.CarryCnt; CharacterSetting.Charming -= item.Charming; CharacterSetting.Intellect -= item.Intellect; CharacterSetting.Crafting -= item.Crafting; CharacterSetting.Researching -= item.Researching; CharacterSetting.Speed -= item.Speed; CharacterSetting.Stamina -= item.Stamina; CharacterSetting.Strength -= item.Strength; break; case ItemContainer.ItemType.Weapon: CharacterSetting.SpeedAttack -= item.SpeedAttack; CharacterSetting.SpeedDefense -= item.SpeedDefense; CharacterSetting.AbilityAttack -= item.AbilityAttack; CharacterSetting.AbilityDefense -= item.AbilityDefense; CharacterSetting.MagicAttack -= item.MagicAttack; CharacterSetting.MagicDefense -= item.MagicDefense; CharacterSetting.PoisonAttack -= item.PoisonAttack; CharacterSetting.PoisonDefense -= item.PoisonDefense; break; case ItemContainer.ItemType.Tool: return; } CharacterSetting.Updated = true; if (save) { SaveCharacterSetting(CharacterSetting); } }
public bool UseItem(ItemIns item) { if (item == null) { return(false); } //Use 1/10 of Max energy to use an item if (_characterManager.UseEnergy(_characterManager.CharacterSetting.MaxEnergy / 10)) { string itemStatus = _characterManager.CharacterSettingUseItem(item, true); if (itemStatus != "") { PrintMessage(itemStatus, Color.yellow); } return(true); } PrintMessage("Not enough energy to use this item", Color.yellow); return(false); }
internal void LoadItem() { print("Item data loading " + (ItemIns == null?"Empty": ItemIns.Item.Name)); if (ItemIns == null) { this.ItemIns = null; GetComponent <Image>().sprite = EmptySprite; var stackCntText = this.transform.GetChild(0).GetComponent <TextMeshProUGUI>(); stackCntText.text = ""; transform.parent.name = this.transform.name = "Empty"; } else { transform.parent.name = this.transform.name = ItemIns.Item.Name; this.ItemIns.UserItem.Order = SlotIndex; this.ItemIns.UserItem.Equipped = false; GetComponent <Image>().sprite = ItemIns.Item.GetSprite(); this.transform.GetComponentInChildren <TextMeshProUGUI>().text = ItemIns.UserItem.StackCnt > 1 ? ItemIns.UserItem.StackCnt.ToString() : ""; } _inv.UpdateInventory(); }
public string CharacterSettingUseItem(ItemIns itemIns, bool save) { string message = ""; if (itemIns == null) { return(message); } Debug.Log("ItemIns = " + itemIns.MyInfo()); var item = itemIns.Item; var userItem = itemIns.UserItem; switch (itemIns.Item.Type) { case ItemContainer.ItemType.Consumable: if (item.Recipe > 0) { if (_userDatabase.AddNewRandomUserRecipe()) { message = "You found a Recipe!!"; } else { return("Recipe you found is not readable!! "); } } if (item.Egg > 0) { if (_userDatabase.AddNewRandomUserCharacters()) { message = "You Hatched a New Character!!"; } else { return("The Egg you found is already rotten !! "); } } if (item.Health > 0) { AddCharacterSetting("Health", item.Health * userItem.StackCnt, false); } if (item.Mana > 0) { AddCharacterSetting("Mana", item.Mana * userItem.StackCnt, false); } if (item.Energy > 0) { AddCharacterSetting("Energy", item.Energy * userItem.StackCnt, false); } if (item.Coin > 0) { AddCharacterSetting("Coin", item.Coin * userItem.StackCnt, false); } if (item.Gem > 0) { AddCharacterSetting("Gem", item.Gem * userItem.StackCnt, false); } break; case ItemContainer.ItemType.Equipment: if (item.Agility > 0) { AddCharacterSetting("Agility", item.Agility, false); } if (item.Bravery > 0) { AddCharacterSetting("Bravery", item.Bravery, false); } if (item.Carry > 0) { AddCharacterSetting("Carry", item.Carry, false); } if (item.CarryCnt > 0) { AddCharacterSetting("CarryCnt", item.CarryCnt, false); } if (item.Charming > 0) { AddCharacterSetting("Charming", item.Charming, false); } if (item.Intellect > 0) { AddCharacterSetting("Intellect", item.Intellect, false); } if (item.Crafting > 0) { AddCharacterSetting("Crafting", item.Crafting, false); } if (item.Researching > 0) { AddCharacterSetting("Researching", item.Researching, false); } if (item.Speed > 0) { AddCharacterSetting("Speed", item.Speed, false); } if (item.Stamina > 0) { AddCharacterSetting("Stamina", item.Stamina, false); } if (item.Strength > 0) { AddCharacterSetting("Strength", item.Strength, false); } break; case ItemContainer.ItemType.Weapon: if (item.SpeedAttack > 0) { AddCharacterSetting("SpeedAttack", item.SpeedAttack, false); } if (item.SpeedDefense > 0) { AddCharacterSetting("SpeedDefense", item.SpeedDefense, false); } if (item.AbilityAttack > 0) { AddCharacterSetting("AbilityAttack", item.AbilityAttack, false); } if (item.AbilityDefense > 0) { AddCharacterSetting("AbilityDefense", item.AbilityDefense, false); } if (item.MagicAttack > 0) { AddCharacterSetting("MagicAttack", item.MagicAttack, false); } if (item.MagicDefense > 0) { AddCharacterSetting("MagicDefense", item.MagicDefense, false); } if (item.PoisonAttack > 0) { AddCharacterSetting("PoisonAttack", item.PoisonAttack, false); } if (item.PoisonDefense > 0) { AddCharacterSetting("PoisonDefense", item.PoisonDefense, false); } break; case ItemContainer.ItemType.Tool: return(message); } if (save) { SaveCharacterSetting(CharacterSetting); } return(message); }
public void DeleteFromInventory(ItemIns itemIns) { _inventoryManager.DeleteItemFromInventory(itemIns); }
private void DeleteItem(ItemIns itemIns) { _characterManager.AddCharacterSetting("Coin", (int)(itemIns.UserItem.StackCnt * itemIns.Item.Cost / 2)); itemIns.UserItem.StackCnt = 0; //_inv.DeleteFromInventory(itemIns); }
internal void LoadItem(ItemIns itemIns) { this.ItemIns = itemIns; LoadItem(); }