terraria-source-code/GameContent/Bestiary/ItemDropBestiaryInfoElement.cs
2021-10-26 12:45:26 -04:00

56 lines
1.9 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Terraria.GameContent.Bestiary.ItemDropBestiaryInfoElement
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
// Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe
using Terraria.GameContent.ItemDropRules;
using Terraria.GameContent.UI.Elements;
using Terraria.ID;
using Terraria.UI;
namespace Terraria.GameContent.Bestiary
{
public class ItemDropBestiaryInfoElement :
IItemBestiaryInfoElement,
IBestiaryInfoElement,
IProvideSearchFilterString
{
protected DropRateInfo _droprateInfo;
public ItemDropBestiaryInfoElement(DropRateInfo info) => this._droprateInfo = info;
public virtual UIElement ProvideUIElement(BestiaryUICollectionInfo info)
{
bool flag = ItemDropBestiaryInfoElement.ShouldShowItem(ref this._droprateInfo);
if (info.UnlockState < BestiaryEntryUnlockState.CanShowStats_2)
flag = false;
return !flag ? (UIElement) null : (UIElement) new UIBestiaryInfoItemLine(this._droprateInfo, info);
}
private static bool ShouldShowItem(ref DropRateInfo dropRateInfo)
{
bool flag = true;
if (dropRateInfo.conditions != null && dropRateInfo.conditions.Count > 0)
{
for (int index = 0; index < dropRateInfo.conditions.Count; ++index)
{
if (!dropRateInfo.conditions[index].CanShowItemDropInUI())
{
flag = false;
break;
}
}
}
return flag;
}
public string GetSearchString(ref BestiaryUICollectionInfo info)
{
bool flag = ItemDropBestiaryInfoElement.ShouldShowItem(ref this._droprateInfo);
if (info.UnlockState < BestiaryEntryUnlockState.CanShowStats_2)
flag = false;
return !flag ? (string) null : ContentSamples.ItemsByType[this._droprateInfo.itemId].Name;
}
}
}