EFTCheatPVE/stoopid.raw/stupid.solutions.Data/ContainerItem.cs

125 lines
2.4 KiB
C#

using System;
using EFT.InventoryLogic;
using stupid.solutions;
using stupid.solutions.Data;
using stupid.solutions.Utils;
namespace stupid.solutions.stupid.solutions.Data;
public class ContainerItem
{
public Item Item { get; }
public string ItemID { get; private set; }
public string LocalizedName { get; private set; }
public string ShortName { get; private set; }
public ItemCategories Itemcat { get; private set; }
public int? itemprice { get; private set; }
public int Count { get; set; } = 1;
public ContainerItem(Item lootItem)
{
if (lootItem == null)
{
throw new ArgumentNullException("lootItem");
}
Item = lootItem;
LocalizedName = string.Empty;
ItemID = string.Empty;
ShortName = string.Empty;
Itemcat = ItemCategories.Uninitialized;
itemprice = null;
Count = 1;
}
public void CalculateItemPrice()
{
if (Item == null)
return;
if (Item.Template == null)
return;
itemprice = GameUtils.GetItemPriceBYID(Item.TemplateId) * Count;
}
public void SetItemCat()
{
if (Item == null)
return;
if (Item.Template == null)
return;
string text = Item.LocalizedName();
string item = Item.TemplateId;
if (QuestESP.QuestItemIds.Contains(text))
{
Itemcat = ItemCategories.Quest;
return;
}
if (Main.IsSuperrare(text))
{
Itemcat = ItemCategories.Superrare;
return;
}
if (Main.IsKappa(text))
{
Itemcat = ItemCategories.Kappa;
return;
}
if (Main.IsStim(text))
{
Itemcat = ItemCategories.Stim;
return;
}
if (Main.SearchedItem(text))
{
Itemcat = ItemCategories.Searched;
return;
}
if (Main.wishlistitemids.Contains(item))
{
Itemcat = ItemCategories.Wishlist;
return;
}
if (Main.hideoutitemids.Contains(item))
{
Itemcat = ItemCategories.Hideout;
return;
}
Itemcat = ItemCategories.Common;
}
public bool IsSameItem(ContainerItem other)
{
if (other == null)
return false;
return ItemID == other.ItemID;
}
public void RecalculateDynamics()
{
if (Item == null)
return;
if (Item.Template == null)
return;
if (string.IsNullOrEmpty(LocalizedName))
LocalizedName = Item.LocalizedName();
if (string.IsNullOrEmpty(ItemID))
ItemID = Item.TemplateId.ToString();
if (string.IsNullOrEmpty(ShortName))
ShortName = Item.ShortName.Localized();
}
}