Decompiled source of ErenshorAdvancedAuctionHouse v1.0.4

Drizzlx.Erenshor.AdvancedAuctionHouse.dll

Decompiled a month ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("Drizzlx.Erenshor.AdvancedAuctionHouse")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.4.0")]
[assembly: AssemblyInformationalVersion("1.0.4+225d01aed71dd27937534cfc842c4e47f8ac13f7")]
[assembly: AssemblyProduct("AdvancedAuctionHouse")]
[assembly: AssemblyTitle("Drizzlx.Erenshor.AdvancedAuctionHouse")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.4.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace AdvancedAuctionHouse
{
	[BepInPlugin("Drizzlx.Erenshor.AdvancedAuctionHouse", "AdvancedAuctionHouse", "1.0.4")]
	public class AdvancedAuctionHousePlugin : BaseUnityPlugin
	{
		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static OnValidateInput <>9__76_1;

			internal char <CreateAuctionHouseUILeftPanelButtonsSellTab>b__76_1(string text, int charIndex, char addedChar)
			{
				if (!char.IsDigit(addedChar))
				{
					return '\0';
				}
				return addedChar;
			}
		}

		[CompilerGenerated]
		private sealed class <ActivateArmorClassSubPanelNextFrame>d__90 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public AdvancedAuctionHousePlugin <>4__this;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <ActivateArmorClassSubPanelNextFrame>d__90(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_001f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0029: Expected O, but got Unknown
				int num = <>1__state;
				AdvancedAuctionHousePlugin advancedAuctionHousePlugin = <>4__this;
				switch (num)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (object)new WaitForEndOfFrame();
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					advancedAuctionHousePlugin._armorClassSubPanel.SetActive(true);
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <ActivateArmorSubPanelNextFrame>d__91 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public AdvancedAuctionHousePlugin <>4__this;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <ActivateArmorSubPanelNextFrame>d__91(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_001f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0029: Expected O, but got Unknown
				int num = <>1__state;
				AdvancedAuctionHousePlugin advancedAuctionHousePlugin = <>4__this;
				switch (num)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (object)new WaitForEndOfFrame();
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					advancedAuctionHousePlugin._armorTypeSubPanel.SetActive(true);
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <ActivateWeaponsClassSubPanelNextFrame>d__88 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public AdvancedAuctionHousePlugin <>4__this;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <ActivateWeaponsClassSubPanelNextFrame>d__88(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_001f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0029: Expected O, but got Unknown
				int num = <>1__state;
				AdvancedAuctionHousePlugin advancedAuctionHousePlugin = <>4__this;
				switch (num)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (object)new WaitForEndOfFrame();
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					advancedAuctionHousePlugin._weaponsClassSubPanel.SetActive(true);
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <ActivateWeaponsSubPanelNextFrame>d__89 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public AdvancedAuctionHousePlugin <>4__this;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <ActivateWeaponsSubPanelNextFrame>d__89(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_001f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0029: Expected O, but got Unknown
				int num = <>1__state;
				AdvancedAuctionHousePlugin advancedAuctionHousePlugin = <>4__this;
				switch (num)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					<>2__current = (object)new WaitForEndOfFrame();
					<>1__state = 1;
					return true;
				case 1:
					<>1__state = -1;
					advancedAuctionHousePlugin._weaponsTypeSubPanel.SetActive(true);
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <GetAuctionHouseDataAsync>d__100 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public int page;

			public int perPage;

			public SlotType[] slotTypeRequest;

			public WeaponType[] weaponTypeRequest;

			public AdvancedAuctionHousePlugin <>4__this;

			public Action<List<AuctionHouseListing>> onComplete;

			private List<AuctionHouseListing> <result>5__2;

			private HashSet<string> <seenNames>5__3;

			private int <skipped>5__4;

			private int <taken>5__5;

			private int <frameBudget>5__6;

			private int <targetStart>5__7;

			private List<AuctionHouseSave>.Enumerator <>7__wrap7;

			private AuctionHouseSave <seller>5__9;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <GetAuctionHouseDataAsync>d__100(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				int num = <>1__state;
				if (num == -3 || num == 1)
				{
					try
					{
					}
					finally
					{
						<>m__Finally1();
					}
				}
				<result>5__2 = null;
				<seenNames>5__3 = null;
				<>7__wrap7 = default(List<AuctionHouseSave>.Enumerator);
				<seller>5__9 = null;
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_01de: Unknown result type (might be due to invalid IL or missing references)
				//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
				//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
				try
				{
					int num = <>1__state;
					AdvancedAuctionHousePlugin advancedAuctionHousePlugin = <>4__this;
					if (num != 0)
					{
						if (num != 1)
						{
							return false;
						}
						<>1__state = -3;
						goto IL_00d2;
					}
					<>1__state = -1;
					<result>5__2 = new List<AuctionHouseListing>();
					<seenNames>5__3 = new HashSet<string>();
					<skipped>5__4 = 0;
					<taken>5__5 = 0;
					<frameBudget>5__6 = 1000;
					<targetStart>5__7 = page * perPage;
					<>7__wrap7 = AuctionHouse.AllData.GetEnumerator();
					<>1__state = -3;
					goto IL_02cf;
					IL_02cf:
					if (<>7__wrap7.MoveNext())
					{
						<seller>5__9 = <>7__wrap7.Current;
						if (--<frameBudget>5__6 <= 0)
						{
							<frameBudget>5__6 = 1000;
							<>2__current = null;
							<>1__state = 1;
							return true;
						}
						goto IL_00d2;
					}
					goto IL_02df;
					IL_00d2:
					if (<seller>5__9 != null && !string.IsNullOrWhiteSpace(<seller>5__9.SellerName) && !<seenNames>5__3.Contains(<seller>5__9.SellerName))
					{
						<seenNames>5__3.Add(<seller>5__9.SellerName);
						if (<skipped>5__4 < <targetStart>5__7)
						{
							<skipped>5__4++;
						}
						else
						{
							if (<taken>5__5 >= perPage)
							{
								goto IL_02df;
							}
							if (<seller>5__9.SellerItems != null && <seller>5__9.SellerItems.Count != 0)
							{
								foreach (string sellerItem in <seller>5__9.SellerItems)
								{
									Item itemByID = GameData.ItemDB.GetItemByID(sellerItem);
									if (!((Object)(object)itemByID == (Object)null) && (!slotTypeRequest.Any() || slotTypeRequest.Contains(itemByID.RequiredSlot)) && ((int)itemByID.ThisWeaponType == 0 || !weaponTypeRequest.Any() || weaponTypeRequest.Contains(itemByID.ThisWeaponType)) && (!((Object)(object)advancedAuctionHousePlugin._selectedClass != (Object)null) || itemByID.Classes.Contains(advancedAuctionHousePlugin._selectedClass)))
									{
										AuctionHouseListing item = new AuctionHouseListing
										{
											SellerData = <seller>5__9,
											Item = itemByID,
											SellerName = <seller>5__9.SellerName,
											Price = Mathf.RoundToInt((float)itemByID.ItemValue * 5f * <seller>5__9.PriceMod)
										};
										<result>5__2.Add(item);
										if (<result>5__2.Count >= perPage)
										{
											break;
										}
									}
								}
								<taken>5__5++;
								<seller>5__9 = null;
							}
						}
					}
					goto IL_02cf;
					IL_02df:
					<>m__Finally1();
					<>7__wrap7 = default(List<AuctionHouseSave>.Enumerator);
					onComplete?.Invoke(<result>5__2);
					return false;
				}
				catch
				{
					//try-fault
					((IDisposable)this).Dispose();
					throw;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			private void <>m__Finally1()
			{
				<>1__state = -1;
				((IDisposable)<>7__wrap7).Dispose();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <GetListingsByCategoryAsync>d__104 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public string categoryName;

			public AdvancedAuctionHousePlugin <>4__this;

			public int page;

			public int perPage;

			public Action<List<AuctionHouseListing>> onComplete;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <GetListingsByCategoryAsync>d__104(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				int num = <>1__state;
				AdvancedAuctionHousePlugin advancedAuctionHousePlugin = <>4__this;
				switch (num)
				{
				default:
					return false;
				case 0:
				{
					<>1__state = -1;
					SlotType[] slotTypeRequest = Array.Empty<SlotType>();
					WeaponType[] weaponTypeRequest = Array.Empty<WeaponType>();
					switch (categoryName)
					{
					case "Weapon":
					{
						SlotType[] array6 = new SlotType[3];
						RuntimeHelpers.InitializeArray(array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
						slotTypeRequest = (SlotType[])(object)array6;
						WeaponType[] array7 = new WeaponType[4];
						RuntimeHelpers.InitializeArray(array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
						weaponTypeRequest = (WeaponType[])(object)array7;
						break;
					}
					case "OneHandMelee":
					{
						SlotType[] array5 = new SlotType[3];
						RuntimeHelpers.InitializeArray(array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
						slotTypeRequest = (SlotType[])(object)array5;
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1] { (WeaponType)1 };
						break;
					}
					case "TwoHandMelee":
					{
						SlotType[] array4 = new SlotType[3];
						RuntimeHelpers.InitializeArray(array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
						slotTypeRequest = (SlotType[])(object)array4;
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1] { (WeaponType)2 };
						break;
					}
					case "OneHandDagger":
					{
						SlotType[] array3 = new SlotType[3];
						RuntimeHelpers.InitializeArray(array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
						slotTypeRequest = (SlotType[])(object)array3;
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1] { (WeaponType)3 };
						break;
					}
					case "TwoHandStaff":
					{
						SlotType[] array2 = new SlotType[3];
						RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
						slotTypeRequest = (SlotType[])(object)array2;
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1] { (WeaponType)4 };
						break;
					}
					case "Armor":
					{
						SlotType[] array = new SlotType[12];
						RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
						slotTypeRequest = (SlotType[])(object)array;
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					}
					case "ArmorHead":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)1 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorNeck":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)2 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorChest":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)3 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorShoulder":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)4 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorArm":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)5 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorBracer":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)6 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorRing":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)7 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorHand":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)8 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorFoot":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)9 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorLeg":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)10 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorBack":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)11 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "ArmorWaist":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)12 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "General":
						slotTypeRequest = (SlotType[])(object)new SlotType[1];
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "Aura":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)16 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					case "Charm":
						slotTypeRequest = (SlotType[])(object)new SlotType[1] { (SlotType)17 };
						weaponTypeRequest = (WeaponType[])(object)new WeaponType[1];
						break;
					}
					<>2__current = advancedAuctionHousePlugin.GetAuctionHouseDataAsync(slotTypeRequest, weaponTypeRequest, page, perPage, onComplete);
					<>1__state = 1;
					return true;
				}
				case 1:
					<>1__state = -1;
					return false;
				}
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		private Harmony _harmony;

		public GameObject auctionHouseUIRoot;

		private GameObject _listingPanelRoot;

		private GameObject _weaponsClassSubPanel;

		private GameObject _weaponsTypeSubPanel;

		private GameObject _armorClassSubPanel;

		private GameObject _armorTypeSubPanel;

		public static Vector2 SavedAuctionHouseSize = Vector2.zero;

		public static Vector2 SavedAuctionHousePosition = Vector2.zero;

		private Transform _panelGoTransform;

		private readonly float _auctionHouseUIWidth = 1000f;

		private readonly float _auctionHouseUIHeight = 500f;

		private readonly float _leftPanelWidthOfParent = 0.25f;

		private readonly int _pageCount = 9999;

		private string _selectedClassName;

		private Class _selectedClass;

		private readonly string _arcanistClassName = "Arcanist";

		private readonly string _duelistClassName = "Duelist";

		private readonly string _druidClassName = "Druid";

		private readonly string _paladinClassName = "Paladin";

		private string _assetDirectory;

		private Button _showAllButton;

		private ScrollRect _listingScrollRect;

		private readonly Color _leftRightPanelBackgroundColor = new Color(0.125f, 0.1137f, 0.102f, 1f);

		private readonly Color _borderColor = new Color(0.125f, 0.1137f, 0.102f, 1f);

		private readonly Color _scrollBarColor = new Color(0.235f, 0.2f, 0.165f, 1f);

		private readonly Color _buyPromptBorderColor = new Color(0.45f, 0.34f, 0.14f, 0.8f);

		private readonly Color _closeButtonColor = new Color(0.235f, 0.2f, 0.165f, 1f);

		private int _currentPage;

		private const int _listingsPerPage = 30;

		private string _currentCategory = "Default";

		private readonly float _listingIconWidth = 40f;

		private readonly float _buyoutButtonWidth = 80f;

		private int _loadedPage;

		private bool _isLoadingPage;

		private const float ScrollThreshold = 0.25f;

		private Button _buyButton;

		private readonly Color _buyButtonEnabledTextColor = new Color(0.8f, 0.75f, 0.3f, 1f);

		private readonly Color _buyButtonDisabledTextColor = new Color(0.5f, 0.5f, 0.5f, 0.75f);

		private GameObject _confirmPanel;

		private GameObject _iconGo;

		private Button _yesButton;

		private Button _noButton;

		private Image _sellIconImage;

		private ItemIcon _sellIconItemIcon;

		public string currentTab;

		public InputField BuyoutPriceInputField;

		private Text _buyPromptText;

		private Coroutine _activeListingCoroutine;

		private AuctionHouseListing _selectedAuctionHouseListing;

		private AuctionHouseNewListing _selectedAuctionHouseNewListing;

		private RectTransform _borderRect;

		private float _headerHeight;

		public static AdvancedAuctionHousePlugin Instance { get; private set; }

		private void Awake()
		{
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Expected O, but got Unknown
			string location = ((BaseUnityPlugin)this).Info.Location;
			if (location != null)
			{
				_assetDirectory = Path.GetDirectoryName(location);
			}
			else
			{
				_assetDirectory = Path.Combine(Paths.PluginPath, "drizzlx-ErenshorAdvancedAuctionHouse");
			}
			Instance = this;
			_harmony = new Harmony("Drizzlx.Erenshor.AdvancedAuctionHouse");
			_harmony.PatchAll();
		}

		private void OnDestroy()
		{
			CloseAuctionHouseUI();
			Harmony harmony = _harmony;
			if (harmony != null)
			{
				harmony.UnpatchSelf();
			}
			_harmony = null;
		}

		private void OnScrollValueChanged(Vector2 scrollPos)
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			if (!(currentTab != "BrowseTab") && scrollPos.y <= 0.25f)
			{
				LoadNextPage();
			}
		}

		public void OnSellItemClicked(ItemIcon itemIcon)
		{
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_0222: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
			Item myItem = itemIcon.MyItem;
			if ((Object)(object)myItem == (Object)null || (Object)(object)myItem.ItemIcon == (Object)null || (_selectedAuctionHouseNewListing == null && itemIcon.VendorSlot))
			{
				return;
			}
			if ((int)myItem.RequiredSlot != 0 && itemIcon.Quantity > 1)
			{
				UpdateSocialLog.LogAdd("Blessed items are not supported in the Auction House.", "red");
				return;
			}
			AuctionHouseNewListing selectedAuctionHouseNewListing;
			if (_selectedAuctionHouseNewListing != null)
			{
				selectedAuctionHouseNewListing = _selectedAuctionHouseNewListing;
				if (((Object)selectedAuctionHouseNewListing.Item).GetInstanceID() == ((Object)myItem).GetInstanceID())
				{
					_selectedAuctionHouseNewListing = null;
					if ((Object)(object)_sellIconImage == (Object)null)
					{
						_sellIconImage = _iconGo.GetComponent<Image>();
					}
					_sellIconImage.sprite = null;
					((Graphic)_sellIconImage).color = Color.clear;
					((Behaviour)_sellIconImage).enabled = true;
					if ((Object)(object)_sellIconItemIcon != (Object)null)
					{
						Object.Destroy((Object)(object)((Component)_sellIconItemIcon).gameObject);
						_sellIconItemIcon = null;
					}
					BuyoutPriceInputField.text = "";
					if (!GameData.PlayerInv.AddItemToInv(selectedAuctionHouseNewListing.Item))
					{
						GameData.PlayerInv.ForceItemToInv(selectedAuctionHouseNewListing.Item);
					}
					return;
				}
				if (itemIcon.VendorSlot)
				{
					return;
				}
				if ((Object)(object)_sellIconItemIcon != (Object)null)
				{
					Object.Destroy((Object)(object)((Component)_sellIconItemIcon).gameObject);
					_sellIconItemIcon = null;
				}
				if (!GameData.PlayerInv.AddItemToInv(selectedAuctionHouseNewListing.Item))
				{
					GameData.PlayerInv.ForceItemToInv(selectedAuctionHouseNewListing.Item);
				}
			}
			GameObject obj = Object.Instantiate<GameObject>(((Component)itemIcon).gameObject, _iconGo.transform.parent, false);
			((Object)obj).name = "ClonedSellItemIcon";
			ItemIcon component = obj.GetComponent<ItemIcon>();
			component.MyItem = Object.Instantiate<Item>(myItem);
			component.Quantity = itemIcon.Quantity;
			component.VendorSlot = true;
			selectedAuctionHouseNewListing = (_selectedAuctionHouseNewListing = new AuctionHouseNewListing
			{
				Item = component.MyItem,
				ItemIcon = component,
				ItemIconSprite = component.MyItem.ItemIcon,
				Quantity = 1,
				SellerName = GameData.PlayerStats.MyName,
				Price = 1
			});
			_sellIconImage.sprite = selectedAuctionHouseNewListing.ItemIconSprite;
			((Graphic)_sellIconImage).color = Color.white;
			_sellIconImage.preserveAspect = true;
			BuyoutPriceInputField.text = (selectedAuctionHouseNewListing.Item.ItemValue * 6 - 1).ToString();
			_sellIconItemIcon = component;
			_sellIconItemIcon.ForceInitInv();
			GameData.PlayerInv.RemoveItemFromInv(itemIcon);
		}

		private void DestroyUI()
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)_listingPanelRoot != (Object)null)
			{
				foreach (Transform item in _listingPanelRoot.transform)
				{
					Object.Destroy((Object)(object)((Component)item).gameObject);
				}
				Object.Destroy((Object)(object)_listingPanelRoot);
				_listingPanelRoot = null;
			}
			if ((Object)(object)_confirmPanel != (Object)null)
			{
				foreach (Transform item2 in _confirmPanel.transform)
				{
					Object.Destroy((Object)(object)((Component)item2).gameObject);
				}
				Object.Destroy((Object)(object)_confirmPanel);
				_confirmPanel = null;
			}
			if ((Object)(object)_weaponsClassSubPanel != (Object)null)
			{
				Object.Destroy((Object)(object)_weaponsClassSubPanel);
				_weaponsClassSubPanel = null;
			}
			if ((Object)(object)_weaponsTypeSubPanel != (Object)null)
			{
				Object.Destroy((Object)(object)_weaponsTypeSubPanel);
				_weaponsTypeSubPanel = null;
			}
			if ((Object)(object)_armorClassSubPanel != (Object)null)
			{
				Object.Destroy((Object)(object)_armorClassSubPanel);
				_armorClassSubPanel = null;
			}
			if ((Object)(object)_armorTypeSubPanel != (Object)null)
			{
				Object.Destroy((Object)(object)_armorTypeSubPanel);
				_armorTypeSubPanel = null;
			}
			if ((Object)(object)auctionHouseUIRoot != (Object)null)
			{
				Object.Destroy((Object)(object)auctionHouseUIRoot);
				auctionHouseUIRoot = null;
			}
			_sellIconImage = null;
			_sellIconItemIcon = null;
			_selectedAuctionHouseNewListing = null;
			_iconGo = null;
			_buyPromptText = null;
			_yesButton = null;
			_noButton = null;
			_buyButton = null;
			_selectedClass = null;
			_selectedClassName = null;
			currentTab = null;
			if ((Object)(object)BuyoutPriceInputField != (Object)null)
			{
				BuyoutPriceInputField.text = string.Empty;
			}
			_loadedPage = 0;
			_isLoadingPage = false;
		}

		private void ReturnNewListingItemToInventory()
		{
			if (_selectedAuctionHouseNewListing != null)
			{
				if (!GameData.PlayerInv.AddItemToInv(_selectedAuctionHouseNewListing.Item))
				{
					GameData.PlayerInv.ForceItemToInv(_selectedAuctionHouseNewListing.Item);
				}
				UpdateSocialLog.LogAdd("Item in sell slot was returned to inventory.", "green");
			}
		}

		public void CloseAuctionHouseUI()
		{
			ReturnNewListingItemToInventory();
			if (_activeListingCoroutine != null)
			{
				((MonoBehaviour)this).StopCoroutine(_activeListingCoroutine);
				_activeListingCoroutine = null;
			}
			if ((Object)(object)_listingScrollRect != (Object)null)
			{
				((UnityEvent<Vector2>)(object)_listingScrollRect.onValueChanged).RemoveListener((UnityAction<Vector2>)OnScrollValueChanged);
				_listingScrollRect = null;
			}
			DestroyUI();
			_selectedAuctionHouseListing = null;
			currentTab = null;
		}

		public void OpenAuctionHouseUI(string tab = "BrowseTab")
		{
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_012d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0133: Unknown result type (might be due to invalid IL or missing references)
			GameData.AHUI.AHWindow.SetActive(false);
			GameData.AuctionWindowOpen = false;
			GameData.PlayerAuctionItemsOpen = false;
			if (IsAuctionHouseWindowOpen())
			{
				CloseAuctionHouseUI();
			}
			currentTab = tab;
			if ((Object)(object)auctionHouseUIRoot == (Object)null)
			{
				CreateAuctionHouseUI();
			}
			if (!((Object)(object)auctionHouseUIRoot != (Object)null))
			{
				return;
			}
			auctionHouseUIRoot.SetActive(true);
			if (tab == "BrowseTab")
			{
				((UnityEvent)_showAllButton.onClick).Invoke();
				EventSystem.current.SetSelectedGameObject(((Component)_showAllButton).gameObject);
				((Graphic)((Component)_showAllButton).GetComponent<Image>()).color = Color.white;
			}
			else
			{
				if (!(tab == "SellTab"))
				{
					return;
				}
				List<AuctionHouseListing> playerListings = GetPlayerListings();
				_listingPanelRoot.SetActive(false);
				CreateListingHeaderRow(_listingPanelRoot.transform);
				foreach (AuctionHouseListing item in playerListings)
				{
					CreateListingRow(item, _listingPanelRoot.transform);
				}
				_listingPanelRoot.SetActive(true);
				SetButtonInteractable(_buyButton, state: false, _buyButtonEnabledTextColor, _buyButtonDisabledTextColor);
			}
		}

		private void CreateAuctionHouseUI()
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_012b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0130: Unknown result type (might be due to invalid IL or missing references)
			//IL_013b: Unknown result type (might be due to invalid IL or missing references)
			//IL_014d: Unknown result type (might be due to invalid IL or missing references)
			//IL_015e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0173: Unknown result type (might be due to invalid IL or missing references)
			//IL_0188: Unknown result type (might be due to invalid IL or missing references)
			//IL_019d: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0204: Unknown result type (might be due to invalid IL or missing references)
			//IL_0220: Unknown result type (might be due to invalid IL or missing references)
			//IL_0235: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject("AuctionHouseUICanvas", new Type[3]
			{
				typeof(Canvas),
				typeof(CanvasScaler),
				typeof(GraphicRaycaster)
			});
			Canvas component = val.GetComponent<Canvas>();
			component.renderMode = (RenderMode)0;
			component.overrideSorting = true;
			component.sortingOrder = 0;
			CanvasGroup obj = val.AddComponent<CanvasGroup>();
			obj.blocksRaycasts = true;
			obj.interactable = true;
			GameObject val2 = CreateAuctionHouseUIPanel(((Component)component).transform);
			val2.SetActive(false);
			CreateAuctionHouseUIBorder(val2.transform);
			CreateAuctionHouseUIHeader(val2.transform);
			GameObject val3 = CreateAuctionHouseUIFooter(val2.transform);
			CreateAuctionHouseUIFooterButtons(val3.transform);
			CreateAuctionHouseUIFooterTabs(val3.transform);
			GameObject val4 = CreateAuctionHouseUILeftPanel(val2.transform);
			CreateAuctionHouseUILeftPanelButtons(val4.transform);
			CreateAuctionHouseUIRightPanel(val2.transform);
			CreateAuctionHouseUIConfirmationDialogue(auctionHouseUIRoot.transform);
			GameObject val5 = new GameObject("AuctionHouseDragHandle", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(DragUI)
			})
			{
				name = "AuctionHouseDiamondDragHandle"
			};
			val5.transform.SetParent(val2.transform, false);
			RectTransform component2 = val5.GetComponent<RectTransform>();
			component2.sizeDelta = new Vector2(14f, 14f);
			component2.anchorMin = new Vector2(1f, 1f);
			component2.anchorMax = new Vector2(1f, 1f);
			component2.pivot = new Vector2(0.5f, 0.5f);
			component2.anchoredPosition = new Vector2(0f, 0f);
			Image component3 = val5.GetComponent<Image>();
			component3.sprite = Sprite.Create(MakeDiamondGradientTexture(new Color(0.0667f, 0.5333f, 0.7529f, 0.9f)), new Rect(0f, 0f, 2f, 2f), new Vector2(0.5f, 0.5f));
			component3.type = (Type)0;
			((Graphic)component3).raycastTarget = true;
			val5.transform.localRotation = Quaternion.Euler(0f, 0f, 45f);
			DragUI component4 = val5.GetComponent<DragUI>();
			component4.Parent = val2.transform;
			component4.isInv = false;
			_panelGoTransform = component4.Parent;
			val2.SetActive(true);
		}

		private GameObject CreateAuctionHouseUIPanel(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0100: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject("AuctionHouseUIPanel", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(RawImage)
			});
			val.transform.SetParent(parent, false);
			auctionHouseUIRoot = val;
			RectTransform component = val.GetComponent<RectTransform>();
			if (SavedAuctionHouseSize != Vector2.zero)
			{
				component.sizeDelta = SavedAuctionHouseSize;
			}
			else
			{
				component.sizeDelta = new Vector2(_auctionHouseUIWidth, _auctionHouseUIHeight);
			}
			component.anchorMin = new Vector2(0.5f, 0.5f);
			component.anchorMax = new Vector2(0.5f, 0.5f);
			component.pivot = new Vector2(1f, 1f);
			if (SavedAuctionHousePosition != Vector2.zero)
			{
				component.anchoredPosition = SavedAuctionHousePosition;
			}
			else
			{
				component.anchoredPosition = new Vector2((0f - _auctionHouseUIWidth) / 2f, (0f - _auctionHouseUIHeight) / 2f);
			}
			_headerHeight = component.sizeDelta.y * 0.1f;
			return val;
		}

		private void CreateAuctionHouseUIBorder(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject("AuctionHouseUIBorder", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val.transform.SetParent(parent, false);
			val.transform.SetAsFirstSibling();
			RectTransform component = val.GetComponent<RectTransform>();
			component.anchorMin = new Vector2(0f, 0f);
			component.anchorMax = new Vector2(1f, 1f);
			component.offsetMin = new Vector2(-5f, -5f);
			component.offsetMax = new Vector2(5f, 5f);
			component.pivot = new Vector2(0.5f, 0.5f);
			_borderRect = component;
			((Graphic)val.GetComponent<Image>()).color = _borderColor;
		}

		private void CreateAuctionHouseUIHeader(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject("AuctionHouseUIHeader", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val.transform.SetParent(parent, false);
			RectTransform component = val.GetComponent<RectTransform>();
			component.anchorMin = new Vector2(0f, 1f);
			component.anchorMax = new Vector2(1f, 1f);
			component.pivot = new Vector2(0.5f, 1f);
			component.anchoredPosition = Vector2.zero;
			component.sizeDelta = new Vector2(0f, _headerHeight);
			((Graphic)val.GetComponent<Image>()).color = _leftRightPanelBackgroundColor;
		}

		private GameObject CreateAuctionHouseUIFooter(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Expected O, but got Unknown
			GameObject val = new GameObject("AuctionHouseUIFooter", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val.transform.SetParent(parent, false);
			RectTransform component = val.GetComponent<RectTransform>();
			component.anchorMin = new Vector2(0f, 0f);
			component.anchorMax = new Vector2(1f, 0f);
			component.pivot = new Vector2(0.5f, 0f);
			component.anchoredPosition = Vector2.zero;
			component.sizeDelta = new Vector2(0f, _headerHeight);
			((Graphic)val.GetComponent<Image>()).color = _leftRightPanelBackgroundColor;
			return val;
		}

		private void CreateAuctionHouseUIFooterButtons(Transform parent)
		{
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Expected O, but got Unknown
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_0128: Unknown result type (might be due to invalid IL or missing references)
			//IL_013a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			//IL_014c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0157: Unknown result type (might be due to invalid IL or missing references)
			//IL_0161: Unknown result type (might be due to invalid IL or missing references)
			//IL_016b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0175: Unknown result type (might be due to invalid IL or missing references)
			//IL_0199: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0203: Unknown result type (might be due to invalid IL or missing references)
			//IL_0223: Unknown result type (might be due to invalid IL or missing references)
			//IL_0231: Unknown result type (might be due to invalid IL or missing references)
			//IL_0251: Unknown result type (might be due to invalid IL or missing references)
			//IL_025c: Unknown result type (might be due to invalid IL or missing references)
			//IL_026f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0279: Expected O, but got Unknown
			//IL_02ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02df: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_031b: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_06bb: Expected O, but got Unknown
			//IL_06e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0711: Unknown result type (might be due to invalid IL or missing references)
			//IL_072e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0742: Unknown result type (might be due to invalid IL or missing references)
			//IL_078b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0790: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_07bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_07c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_07dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0800: Unknown result type (might be due to invalid IL or missing references)
			//IL_0814: Unknown result type (might be due to invalid IL or missing references)
			//IL_0832: Unknown result type (might be due to invalid IL or missing references)
			//IL_083c: Expected O, but got Unknown
			//IL_086e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0873: Unknown result type (might be due to invalid IL or missing references)
			//IL_0885: Unknown result type (might be due to invalid IL or missing references)
			//IL_088c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0897: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_08df: Unknown result type (might be due to invalid IL or missing references)
			//IL_0378: Unknown result type (might be due to invalid IL or missing references)
			//IL_037f: Expected O, but got Unknown
			//IL_03a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_03da: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_0412: Unknown result type (might be due to invalid IL or missing references)
			//IL_042e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0477: Unknown result type (might be due to invalid IL or missing references)
			//IL_047c: Unknown result type (might be due to invalid IL or missing references)
			//IL_048f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0496: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0502: Unknown result type (might be due to invalid IL or missing references)
			//IL_051c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0521: Unknown result type (might be due to invalid IL or missing references)
			//IL_0539: Unknown result type (might be due to invalid IL or missing references)
			//IL_0559: Unknown result type (might be due to invalid IL or missing references)
			//IL_0579: Unknown result type (might be due to invalid IL or missing references)
			//IL_0587: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05cf: Expected O, but got Unknown
			//IL_0601: Unknown result type (might be due to invalid IL or missing references)
			//IL_0606: Unknown result type (might be due to invalid IL or missing references)
			//IL_0619: Unknown result type (might be due to invalid IL or missing references)
			//IL_0620: Unknown result type (might be due to invalid IL or missing references)
			//IL_062b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0636: Unknown result type (might be due to invalid IL or missing references)
			//IL_0640: Unknown result type (might be due to invalid IL or missing references)
			//IL_0672: Unknown result type (might be due to invalid IL or missing references)
			if (currentTab == "BrowseTab")
			{
				GameObject val = new GameObject("FooterBuyButton", new Type[3]
				{
					typeof(RectTransform),
					typeof(CanvasRenderer),
					typeof(Button)
				});
				val.transform.SetParent(parent, false);
				_buyButton = val.GetComponent<Button>();
				RectTransform component = val.GetComponent<RectTransform>();
				component.anchorMin = new Vector2(1f, 0.5f);
				component.anchorMax = new Vector2(1f, 0.5f);
				component.pivot = new Vector2(1f, 0.5f);
				component.sizeDelta = new Vector2(_buyoutButtonWidth, _headerHeight * 0.65f);
				component.anchoredPosition = new Vector2(0f - _buyoutButtonWidth + -40f, 0f);
				GameObject val2 = new GameObject("BuyButtonBackground", new Type[4]
				{
					typeof(RectTransform),
					typeof(CanvasRenderer),
					typeof(Image),
					typeof(Outline)
				});
				val2.transform.SetParent(val.transform, false);
				RectTransform component2 = val2.GetComponent<RectTransform>();
				component2.anchorMin = Vector2.zero;
				component2.anchorMax = Vector2.one;
				component2.offsetMin = Vector2.zero;
				component2.offsetMax = Vector2.zero;
				Image component3 = val2.GetComponent<Image>();
				((Graphic)component3).color = Color.white;
				Outline component4 = val2.GetComponent<Outline>();
				((Shadow)component4).effectColor = new Color(0.3f, 0.3f, 0.3f, 0.5f);
				((Shadow)component4).effectDistance = new Vector2(1f, -1f);
				Button component5 = val.GetComponent<Button>();
				((Selectable)component5).targetGraphic = (Graphic)(object)component3;
				ColorBlock colors = ((Selectable)component5).colors;
				((ColorBlock)(ref colors)).normalColor = new Color(0.235f, 0.2f, 0.165f, 1f);
				((ColorBlock)(ref colors)).highlightedColor = new Color(0.314f, 0.263f, 0.212f, 1f);
				((ColorBlock)(ref colors)).pressedColor = new Color(0.165f, 0.141f, 0.122f, 1f);
				((ColorBlock)(ref colors)).selectedColor = ((ColorBlock)(ref colors)).highlightedColor;
				((ColorBlock)(ref colors)).disabledColor = new Color(0.5f, 0.5f, 0.5f, 0.5f);
				((Selectable)component5).colors = colors;
				((UnityEvent)component5.onClick).AddListener((UnityAction)delegate
				{
					if ((Object)(object)_confirmPanel != (Object)null)
					{
						Item item = _selectedAuctionHouseListing.Item;
						int price = _selectedAuctionHouseListing.Price;
						_buyPromptText.text = item.ItemName + " for " + price + "g";
						_confirmPanel.SetActive(true);
					}
				});
				GameObject val3 = new GameObject("BuyButtonText", new Type[3]
				{
					typeof(RectTransform),
					typeof(CanvasRenderer),
					typeof(Text)
				});
				val3.transform.SetParent(val.transform, false);
				RectTransform component6 = val3.GetComponent<RectTransform>();
				component6.anchorMin = Vector2.zero;
				component6.anchorMax = Vector2.one;
				component6.offsetMin = Vector2.zero;
				component6.offsetMax = Vector2.zero;
				Text component7 = val3.GetComponent<Text>();
				component7.text = "Buyout";
				component7.alignment = (TextAnchor)4;
				component7.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
				((Graphic)component7).color = Color.white;
				component7.fontSize = 18;
			}
			else if (currentTab == "SellTab")
			{
				GameObject val4 = new GameObject("FooterBuyButton", new Type[3]
				{
					typeof(RectTransform),
					typeof(CanvasRenderer),
					typeof(Button)
				});
				val4.transform.SetParent(parent, false);
				_buyButton = val4.GetComponent<Button>();
				SetButtonInteractable(_buyButton, state: false, _buyButtonEnabledTextColor, _buyButtonDisabledTextColor);
				RectTransform component8 = val4.GetComponent<RectTransform>();
				component8.anchorMin = new Vector2(1f, 0.5f);
				component8.anchorMax = new Vector2(1f, 0.5f);
				component8.pivot = new Vector2(1f, 0.5f);
				component8.sizeDelta = new Vector2(_buyoutButtonWidth * 2f, _headerHeight * 0.65f);
				component8.anchoredPosition = new Vector2(0f - _buyoutButtonWidth + -40f, 0f);
				GameObject val5 = new GameObject("BuyButtonBackground", new Type[4]
				{
					typeof(RectTransform),
					typeof(CanvasRenderer),
					typeof(Image),
					typeof(Outline)
				});
				val5.transform.SetParent(val4.transform, false);
				RectTransform component9 = val5.GetComponent<RectTransform>();
				component9.anchorMin = Vector2.zero;
				component9.anchorMax = Vector2.one;
				component9.offsetMin = Vector2.zero;
				component9.offsetMax = Vector2.zero;
				Image component10 = val5.GetComponent<Image>();
				((Graphic)component10).color = Color.white;
				Outline component11 = val5.GetComponent<Outline>();
				((Shadow)component11).effectColor = new Color(0.3f, 0.3f, 0.3f, 0.5f);
				((Shadow)component11).effectDistance = new Vector2(1f, -1f);
				Button component12 = val4.GetComponent<Button>();
				((Selectable)component12).targetGraphic = (Graphic)(object)component10;
				ColorBlock colors2 = ((Selectable)component12).colors;
				((ColorBlock)(ref colors2)).normalColor = new Color(0.235f, 0.2f, 0.165f, 1f);
				((ColorBlock)(ref colors2)).highlightedColor = new Color(0.314f, 0.263f, 0.212f, 1f);
				((ColorBlock)(ref colors2)).pressedColor = new Color(0.165f, 0.141f, 0.122f, 1f);
				((ColorBlock)(ref colors2)).selectedColor = ((ColorBlock)(ref colors2)).highlightedColor;
				((ColorBlock)(ref colors2)).disabledColor = new Color(0.5f, 0.5f, 0.5f, 0.5f);
				((Selectable)component12).colors = colors2;
				((UnityEvent)component12.onClick).AddListener((UnityAction)delegate
				{
					BuyItem();
				});
				GameObject val6 = new GameObject("BuyButtonText", new Type[3]
				{
					typeof(RectTransform),
					typeof(CanvasRenderer),
					typeof(Text)
				});
				val6.transform.SetParent(val4.transform, false);
				RectTransform component13 = val6.GetComponent<RectTransform>();
				component13.anchorMin = Vector2.zero;
				component13.anchorMax = Vector2.one;
				component13.offsetMin = Vector2.zero;
				component13.offsetMax = Vector2.zero;
				Text component14 = val6.GetComponent<Text>();
				component14.text = "Cancel Auction";
				component14.alignment = (TextAnchor)4;
				component14.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
				((Graphic)component14).color = Color.white;
				component14.fontSize = 18;
			}
			GameObject val7 = new GameObject("FooterCloseButton", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Button)
			});
			val7.transform.SetParent(parent, false);
			Button component15 = val7.GetComponent<Button>();
			((Selectable)component15).interactable = true;
			RectTransform component16 = val7.GetComponent<RectTransform>();
			component16.anchorMin = new Vector2(1f, 0.5f);
			component16.anchorMax = new Vector2(1f, 0.5f);
			component16.pivot = new Vector2(1f, 0.5f);
			component16.sizeDelta = new Vector2(_buyoutButtonWidth, _headerHeight * 0.65f);
			component16.anchoredPosition = new Vector2(-25f, 0f);
			GameObject val8 = new GameObject("CloseButtonBackground", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(Outline)
			});
			val8.transform.SetParent(val7.transform, false);
			RectTransform component17 = val8.GetComponent<RectTransform>();
			component17.anchorMin = Vector2.zero;
			component17.anchorMax = Vector2.one;
			component17.offsetMin = Vector2.zero;
			component17.offsetMax = Vector2.zero;
			Image component18 = val8.GetComponent<Image>();
			((Graphic)component18).color = _closeButtonColor;
			Outline component19 = val8.GetComponent<Outline>();
			((Shadow)component19).effectColor = new Color(0.3f, 0.3f, 0.3f, 0.5f);
			((Shadow)component19).effectDistance = new Vector2(1f, -1f);
			((Selectable)component15).targetGraphic = (Graphic)(object)component18;
			((UnityEvent)component15.onClick).AddListener((UnityAction)delegate
			{
				HandleAuctionHouseWindowClosing(GameData.AHUI, force: true);
			});
			GameObject val9 = new GameObject("CloseButtonText", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Text)
			});
			val9.transform.SetParent(val7.transform, false);
			RectTransform component20 = val9.GetComponent<RectTransform>();
			component20.anchorMin = Vector2.zero;
			component20.anchorMax = Vector2.one;
			component20.offsetMin = Vector2.zero;
			component20.offsetMax = Vector2.zero;
			Text component21 = val9.GetComponent<Text>();
			component21.text = "Close";
			component21.alignment = (TextAnchor)4;
			component21.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
			((Graphic)component21).color = _buyButtonEnabledTextColor;
			component21.fontSize = 18;
		}

		private void CreateAuctionHouseUIFooterTabs(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0116: Expected O, but got Unknown
			//IL_014d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0157: Expected O, but got Unknown
			//IL_0175: Unknown result type (might be due to invalid IL or missing references)
			//IL_017f: Expected O, but got Unknown
			GameObject val = new GameObject("BottomTabs", new Type[3]
			{
				typeof(RectTransform),
				typeof(HorizontalLayoutGroup),
				typeof(ContentSizeFitter)
			});
			val.transform.SetParent(parent, false);
			RectTransform component = val.GetComponent<RectTransform>();
			component.anchorMin = new Vector2(0f, 0f);
			component.anchorMax = new Vector2(0f, 0f);
			component.pivot = new Vector2(0f, 1f);
			component.anchoredPosition = new Vector2(_auctionHouseUIWidth * _leftPanelWidthOfParent / 2f - _buyoutButtonWidth - 20f, 0f - _borderRect.offsetMax.y);
			component.sizeDelta = new Vector2(_buyoutButtonWidth * 2f, _headerHeight * 0.65f);
			HorizontalLayoutGroup component2 = val.GetComponent<HorizontalLayoutGroup>();
			((HorizontalOrVerticalLayoutGroup)component2).childForceExpandWidth = true;
			((HorizontalOrVerticalLayoutGroup)component2).childForceExpandHeight = true;
			((HorizontalOrVerticalLayoutGroup)component2).spacing = 5f;
			((LayoutGroup)component2).padding = new RectOffset(0, 0, 0, 0);
			((LayoutGroup)component2).childAlignment = (TextAnchor)4;
			ContentSizeFitter component3 = val.GetComponent<ContentSizeFitter>();
			component3.horizontalFit = (FitMode)2;
			component3.verticalFit = (FitMode)0;
			CreateAuctionHouseUIFooterTabsButton("BrowseTab", "Buy", val.transform, _headerHeight, (UnityAction)delegate
			{
				OpenAuctionHouseUI();
			});
			CreateAuctionHouseUIFooterTabsButton("SellTab", "Sell", val.transform, _headerHeight, (UnityAction)delegate
			{
				OpenAuctionHouseUI("SellTab");
				GameData.AHUI.CurrentSellerData = AuctionHouse.ReadCharData(GameData.PlayerStats.MyName);
			});
		}

		private void CreateAuctionHouseUIFooterTabsButton(string name, string label, Transform parent, float headerHeight, UnityAction onClick)
		{
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Expected O, but got Unknown
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0100: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0174: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_01db: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject(name, new Type[6]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Button),
				typeof(Image),
				typeof(LayoutElement),
				typeof(Outline)
			});
			val.transform.SetParent(parent, false);
			val.GetComponent<LayoutElement>().minWidth = 100f;
			RectTransform component = val.GetComponent<RectTransform>();
			component.anchorMin = new Vector2(0f, 0f);
			component.anchorMax = new Vector2(0.5f, 1f);
			component.offsetMin = Vector2.zero;
			component.offsetMax = Vector2.zero;
			component.pivot = new Vector2(0f, 0.5f);
			Image component2 = val.GetComponent<Image>();
			((Graphic)component2).color = new Color(0.2f, 0.2f, 0.2f, 1f);
			Outline component3 = val.GetComponent<Outline>();
			((Shadow)component3).effectColor = _borderColor;
			((Shadow)component3).effectDistance = new Vector2(1f, 1f);
			Button component4 = val.GetComponent<Button>();
			((UnityEvent)component4.onClick).AddListener(onClick);
			((Selectable)component4).targetGraphic = (Graphic)(object)component2;
			GameObject val2 = new GameObject(label + "Text", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Text)
			});
			val2.transform.SetParent(val.transform, false);
			RectTransform component5 = val2.GetComponent<RectTransform>();
			component5.anchorMin = Vector2.zero;
			component5.anchorMax = Vector2.one;
			component5.offsetMin = Vector2.zero;
			component5.offsetMax = Vector2.zero;
			Text component6 = ((Component)component5).GetComponent<Text>();
			component6.text = label;
			component6.alignment = (TextAnchor)4;
			component6.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
			((Graphic)component6).color = Color.white;
			component6.fontSize = 18;
		}

		private GameObject CreateAuctionHouseUILeftPanel(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Expected O, but got Unknown
			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0110: Unknown result type (might be due to invalid IL or missing references)
			//IL_0126: Unknown result type (might be due to invalid IL or missing references)
			//IL_0137: Unknown result type (might be due to invalid IL or missing references)
			//IL_0180: Unknown result type (might be due to invalid IL or missing references)
			//IL_0186: Expected O, but got Unknown
			//IL_019f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0213: Unknown result type (might be due to invalid IL or missing references)
			//IL_0229: Unknown result type (might be due to invalid IL or missing references)
			//IL_023f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0256: Unknown result type (might be due to invalid IL or missing references)
			//IL_026e: Unknown result type (might be due to invalid IL or missing references)
			//IL_029c: Unknown result type (might be due to invalid IL or missing references)
			//IL_02eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f5: Expected O, but got Unknown
			GameObject val = new GameObject("AuctionHouseUILeftPanel", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val.transform.SetParent(parent, false);
			GameObject val2 = new GameObject("LeftScrollRect", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(ScrollRect)
			});
			val2.transform.SetParent(parent, false);
			ScrollRect component = val2.GetComponent<ScrollRect>();
			component.horizontal = false;
			component.vertical = true;
			component.movementType = (MovementType)2;
			component.scrollSensitivity = 50f;
			RectTransform component2 = val2.GetComponent<RectTransform>();
			component2.anchorMin = new Vector2(0f, 0f);
			component2.anchorMax = new Vector2(_leftPanelWidthOfParent, 1f);
			component2.pivot = new Vector2(0f, 1f);
			component2.offsetMin = new Vector2(0f, _headerHeight);
			component2.offsetMax = new Vector2(0f, 0f - _headerHeight);
			((Graphic)val2.GetComponent<Image>()).color = _leftRightPanelBackgroundColor;
			GameObject val3 = new GameObject("LeftViewport", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(Mask)
			});
			val3.transform.SetParent(val2.transform, false);
			RectTransform component3 = val3.GetComponent<RectTransform>();
			component3.anchorMin = Vector2.zero;
			component3.anchorMax = Vector2.one;
			component3.offsetMin = Vector2.zero;
			component3.offsetMax = Vector2.zero;
			Image component4 = val3.GetComponent<Image>();
			((Graphic)component4).color = _leftRightPanelBackgroundColor;
			component4.type = (Type)1;
			val.transform.SetParent(val3.transform, false);
			component.content = val.GetComponent<RectTransform>();
			RectTransform component5 = val.GetComponent<RectTransform>();
			component5.anchorMin = new Vector2(0f, 0f);
			component5.anchorMax = new Vector2(1f, 1f);
			component5.pivot = new Vector2(0f, 1f);
			component5.offsetMin = new Vector2(0f, _headerHeight);
			component5.offsetMax = new Vector2(0f, 0f - _headerHeight);
			component.content = component5;
			component.vertical = true;
			component.horizontal = false;
			component.movementType = (MovementType)2;
			((Graphic)val.GetComponent<Image>()).color = _leftRightPanelBackgroundColor;
			VerticalLayoutGroup obj = val.AddComponent<VerticalLayoutGroup>();
			((HorizontalOrVerticalLayoutGroup)obj).childForceExpandWidth = true;
			((HorizontalOrVerticalLayoutGroup)obj).childForceExpandHeight = false;
			((LayoutGroup)obj).childAlignment = (TextAnchor)1;
			((HorizontalOrVerticalLayoutGroup)obj).spacing = ((currentTab == "SellTab") ? 10f : 3f);
			((LayoutGroup)obj).padding = new RectOffset(0, 0, 10, 10);
			ContentSizeFitter obj2 = val.AddComponent<ContentSizeFitter>();
			obj2.verticalFit = (FitMode)2;
			obj2.horizontalFit = (FitMode)0;
			return val;
		}

		private void CreateAuctionHouseUILeftPanelButtons(Transform parent)
		{
			if (currentTab == "BrowseTab")
			{
				CreateAuctionHouseUILeftPanelButtonsBrowseTab(parent);
			}
			else if (currentTab == "SellTab")
			{
				CreateAuctionHouseUILeftPanelButtonsSellTab(parent);
			}
		}

		private void CreateAuctionHouseUILeftPanelButtonsBrowseTab(Transform parent)
		{
			//IL_0031: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Expected O, but got Unknown
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Expected O, but got Unknown
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0097: Expected O, but got Unknown
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Expected O, but got Unknown
			//IL_00d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Expected O, but got Unknown
			//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fd: Expected O, but got Unknown
			_showAllButton = CreateCategoryButton("View All Listings", parent);
			((UnityEvent)_showAllButton.onClick).AddListener((UnityAction)delegate
			{
				CleanupAuctionHouse(0);
				ShowItemsByCategory("Default");
			});
			Button weaponsButton = CreateCategoryButton("Weapons", parent);
			((UnityEvent)weaponsButton.onClick).AddListener((UnityAction)delegate
			{
				CleanupAuctionHouse(0);
				ShowItemsByCategory("Weapon");
				ToggleWeaponsClassSubPanel(((Component)weaponsButton).transform.parent);
			});
			Button armorButton = CreateCategoryButton("Armor", parent);
			((UnityEvent)armorButton.onClick).AddListener((UnityAction)delegate
			{
				CleanupAuctionHouse(0);
				ShowItemsByCategory("Armor");
				ToggleArmorClassSubPanel(((Component)armorButton).transform.parent);
			});
			((UnityEvent)CreateCategoryButton("Miscellaneous", parent).onClick).AddListener((UnityAction)delegate
			{
				CleanupAuctionHouse(0);
				ShowItemsByCategory("General");
			});
			((UnityEvent)CreateCategoryButton("Auras", parent).onClick).AddListener((UnityAction)delegate
			{
				CleanupAuctionHouse(0);
				ShowItemsByCategory("Aura");
			});
			((UnityEvent)CreateCategoryButton("Charms", parent).onClick).AddListener((UnityAction)delegate
			{
				CleanupAuctionHouse(0);
				ShowItemsByCategory("Charm");
			});
		}

		private void CreateAuctionHouseUILeftPanelButtonsSellTab(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0080: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0115: Expected O, but got Unknown
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0139: Unknown result type (might be due to invalid IL or missing references)
			//IL_0144: Unknown result type (might be due to invalid IL or missing references)
			//IL_014e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0172: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b4: Expected O, but got Unknown
			//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0205: Unknown result type (might be due to invalid IL or missing references)
			//IL_020f: Unknown result type (might be due to invalid IL or missing references)
			//IL_022b: Unknown result type (might be due to invalid IL or missing references)
			//IL_028b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0291: Expected O, but got Unknown
			//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ca: Expected O, but got Unknown
			//IL_02ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0345: Unknown result type (might be due to invalid IL or missing references)
			//IL_034a: Unknown result type (might be due to invalid IL or missing references)
			//IL_035c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0377: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_040a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0411: Expected O, but got Unknown
			//IL_0466: Unknown result type (might be due to invalid IL or missing references)
			//IL_048c: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0523: Unknown result type (might be due to invalid IL or missing references)
			//IL_056a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0574: Expected O, but got Unknown
			//IL_058c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0596: Expected O, but got Unknown
			//IL_055a: Unknown result type (might be due to invalid IL or missing references)
			//IL_055f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0565: Expected O, but got Unknown
			GameObject val = new GameObject("ItemSlotWrapper", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val.transform.SetParent(parent, false);
			RectTransform component = val.GetComponent<RectTransform>();
			component.sizeDelta = new Vector2(60f, 60f);
			component.anchorMin = new Vector2(0.5f, 1f);
			component.anchorMax = new Vector2(0.5f, 1f);
			component.pivot = new Vector2(0.5f, 1f);
			LayoutElement obj = val.AddComponent<LayoutElement>();
			obj.preferredHeight = 70f;
			obj.flexibleWidth = 1f;
			((Graphic)val.GetComponent<Image>()).color = new Color(0f, 0f, 0f, 0.25f);
			GameObject val2 = new GameObject("IconContainer", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val2.transform.SetParent(val.transform, false);
			RectTransform component2 = val2.GetComponent<RectTransform>();
			component2.anchorMin = Vector2.zero;
			component2.anchorMax = Vector2.one;
			component2.offsetMin = Vector2.zero;
			component2.offsetMax = Vector2.zero;
			((Graphic)val2.GetComponent<Image>()).color = new Color(0f, 0f, 0f, 0f);
			GameObject val3 = new GameObject("SellItemIcon", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val3.transform.SetParent(val2.transform, false);
			val3.AddComponent<ItemIcon>();
			_iconGo = val3;
			RectTransform component3 = val3.GetComponent<RectTransform>();
			component3.anchorMin = new Vector2(0f, 0f);
			component3.anchorMax = new Vector2(1f, 1f);
			component3.offsetMin = Vector2.zero;
			component3.offsetMax = Vector2.zero;
			_sellIconImage = val3.GetComponent<Image>();
			((Graphic)_sellIconImage).color = Color.clear;
			_sellIconImage.preserveAspect = true;
			_sellIconItemIcon = val3.GetComponent<ItemIcon>();
			_sellIconItemIcon.VendorSlot = true;
			GameObject val4 = new GameObject("BuyoutPriceRow", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val4.transform.SetParent(parent, false);
			HorizontalLayoutGroup obj2 = val4.AddComponent<HorizontalLayoutGroup>();
			((HorizontalOrVerticalLayoutGroup)obj2).childForceExpandWidth = true;
			((HorizontalOrVerticalLayoutGroup)obj2).childControlWidth = true;
			((LayoutGroup)obj2).childAlignment = (TextAnchor)4;
			((LayoutGroup)obj2).padding = new RectOffset(10, 10, 5, 5);
			((HorizontalOrVerticalLayoutGroup)obj2).spacing = 5f;
			((Graphic)val4.GetComponent<Image>()).color = new Color(0f, 0f, 0f, 0.15f);
			LayoutElement obj3 = val4.AddComponent<LayoutElement>();
			obj3.preferredHeight = 40f;
			obj3.flexibleWidth = 1f;
			GameObject val5 = new GameObject("SellPriceLabel", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Text)
			});
			val5.transform.SetParent(val4.transform, false);
			LayoutElement obj4 = val5.AddComponent<LayoutElement>();
			obj4.preferredWidth = 80f;
			obj4.flexibleWidth = 0f;
			Text component4 = val5.GetComponent<Text>();
			component4.text = "Sell Price";
			component4.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
			component4.fontSize = 16;
			component4.alignment = (TextAnchor)3;
			((Graphic)component4).color = _buyButtonEnabledTextColor;
			val5.GetComponent<RectTransform>().sizeDelta = new Vector2(1f, 30f);
			GameObject val6 = new GameObject("BuyoutPriceInput", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(InputField),
				typeof(Image)
			});
			val6.transform.SetParent(val4.transform, false);
			LayoutElement obj5 = val6.AddComponent<LayoutElement>();
			obj5.flexibleWidth = 1f;
			obj5.minWidth = 100f;
			obj5.preferredHeight = 30f;
			Image component5 = val6.GetComponent<Image>();
			component5.sprite = CreateRoundedSprite();
			component5.type = (Type)1;
			((Graphic)component5).color = _scrollBarColor;
			Outline obj6 = val6.AddComponent<Outline>();
			((Shadow)obj6).effectColor = new Color(0.6f, 0.4f, 0.2f, 1f);
			((Shadow)obj6).effectDistance = new Vector2(1f, -1f);
			BuyoutPriceInputField = val6.GetComponent<InputField>();
			BuyoutPriceInputField.textComponent = CreateUIText(val6.transform, "", 16, (TextAnchor)4);
			((Graphic)BuyoutPriceInputField.textComponent).color = _buyButtonEnabledTextColor;
			BuyoutPriceInputField.placeholder = (Graphic)(object)CreateUIText(val6.transform, "Gold", 16, (TextAnchor)4);
			BuyoutPriceInputField.placeholder.color = _buyButtonDisabledTextColor;
			BuyoutPriceInputField.contentType = (ContentType)9;
			InputField buyoutPriceInputField = BuyoutPriceInputField;
			OnValidateInput onValidateInput = buyoutPriceInputField.onValidateInput;
			object obj7 = <>c.<>9__76_1;
			if (obj7 == null)
			{
				OnValidateInput val7 = (string text, int charIndex, char addedChar) => char.IsDigit(addedChar) ? addedChar : '\0';
				<>c.<>9__76_1 = val7;
				obj7 = (object)val7;
			}
			buyoutPriceInputField.onValidateInput = (OnValidateInput)Delegate.Combine((Delegate?)(object)onValidateInput, (Delegate?)obj7);
			((UnityEvent)CreateCategoryButton("Create Auction", parent).onClick).AddListener((UnityAction)delegate
			{
				//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
				if (_selectedAuctionHouseNewListing != null)
				{
					GameData.SlotToBeListed = _selectedAuctionHouseNewListing.ItemIcon;
					GameData.AHUI.ListPrice.text = BuyoutPriceInputField.text;
					if (BuyoutPriceInputField.text == "0")
					{
						UpdateSocialLog.LogAdd("Price must be greater than 0.", "red");
					}
					else
					{
						GameData.AHUI.CommitItem();
						if (string.IsNullOrEmpty(((TMP_Text)GameData.AHUI.Error).text))
						{
							_selectedAuctionHouseNewListing = null;
							BuyoutPriceInputField.text = "";
							if ((Object)(object)_sellIconImage == (Object)null)
							{
								_sellIconImage = _iconGo.GetComponent<Image>();
							}
							_sellIconImage.sprite = null;
							((Graphic)_sellIconImage).color = Color.clear;
							((Behaviour)_sellIconImage).enabled = true;
							_sellIconItemIcon.MyItem = GameData.PlayerInv.Empty;
							_sellIconItemIcon.Quantity = 0;
							_sellIconItemIcon.ForceInitInv();
							OpenAuctionHouseUI("SellTab");
							GameData.AHUI.CurrentSellerData = AuctionHouse.ReadCharData(GameData.PlayerStats.MyName);
						}
						else
						{
							UpdateSocialLog.LogAdd(((TMP_Text)GameData.AHUI.Error).text, "red");
						}
					}
				}
			});
		}

		private Sprite CreateRoundedSprite()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: Expected O, but got Unknown
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			Texture2D val = new Texture2D(32, 32, (TextureFormat)5, false);
			Color[] array = (Color[])(object)new Color[1024];
			for (int i = 0; i < array.Length; i++)
			{
				array[i] = Color.white;
			}
			val.SetPixels(array);
			val.Apply();
			return Sprite.Create(val, new Rect(0f, 0f, 32f, 32f), new Vector2(0.5f, 0.5f), 100f, 0u, (SpriteMeshType)0);
		}

		private Text CreateUIText(Transform parent, string content, int fontSize, TextAnchor alignment, float alpha = 1f)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			//IL_007b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0086: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject("Text", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Text)
			});
			val.transform.SetParent(parent, false);
			Text component = val.GetComponent<Text>();
			component.text = content;
			component.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
			component.fontSize = fontSize;
			((Graphic)component).color = new Color(0f, 0f, 0f, alpha);
			component.alignment = alignment;
			RectTransform component2 = val.GetComponent<RectTransform>();
			component2.anchorMin = Vector2.zero;
			component2.anchorMax = Vector2.one;
			Vector2 offsetMin = (component2.offsetMax = Vector2.zero);
			component2.offsetMin = offsetMin;
			return component;
		}

		private void CreateAuctionHouseUIRightPanel(Transform parent)
		{
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Expected O, but got Unknown
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_013c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0142: Expected O, but got Unknown
			//IL_0174: Unknown result type (might be due to invalid IL or missing references)
			//IL_017f: Unknown result type (might be due to invalid IL or missing references)
			//IL_018a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0195: Unknown result type (might be due to invalid IL or missing references)
			//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0228: Unknown result type (might be due to invalid IL or missing references)
			//IL_022f: Expected O, but got Unknown
			//IL_025f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0275: Unknown result type (might be due to invalid IL or missing references)
			//IL_0281: Unknown result type (might be due to invalid IL or missing references)
			//IL_028d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0299: Unknown result type (might be due to invalid IL or missing references)
			//IL_02af: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0304: Unknown result type (might be due to invalid IL or missing references)
			//IL_030e: Expected O, but got Unknown
			//IL_0373: Unknown result type (might be due to invalid IL or missing references)
			//IL_037a: Expected O, but got Unknown
			//IL_039f: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0412: Unknown result type (might be due to invalid IL or missing references)
			//IL_0424: Unknown result type (might be due to invalid IL or missing references)
			//IL_0471: Unknown result type (might be due to invalid IL or missing references)
			//IL_0476: Unknown result type (might be due to invalid IL or missing references)
			//IL_0489: Unknown result type (might be due to invalid IL or missing references)
			//IL_049d: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f5: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject("AuctionHouseUIRightPanel", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(ScrollRect)
			});
			val.transform.SetParent(parent, false);
			RectTransform component = val.GetComponent<RectTransform>();
			component.anchorMin = new Vector2(_leftPanelWidthOfParent, 0f);
			component.anchorMax = new Vector2(1f, 1f);
			component.pivot = new Vector2(0f, 1f);
			component.offsetMin = new Vector2(0f, _headerHeight + 5f);
			component.offsetMax = new Vector2(0f, 0f - _headerHeight - 10f);
			((Graphic)val.GetComponent<Image>()).color = _leftRightPanelBackgroundColor;
			ScrollRect component2 = val.GetComponent<ScrollRect>();
			component2.horizontal = false;
			component2.vertical = true;
			component2.movementType = (MovementType)2;
			GameObject val2 = new GameObject("AuctionHouseUIViewport", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(Mask)
			});
			val2.transform.SetParent(val.transform, false);
			ScrollClickCatcher scrollClickCatcher = val2.AddComponent<ScrollClickCatcher>();
			scrollClickCatcher.Plugin = this;
			scrollClickCatcher.ScrollRect = _listingScrollRect;
			RectTransform component3 = val2.GetComponent<RectTransform>();
			component3.anchorMin = Vector2.zero;
			component3.anchorMax = Vector2.one;
			component3.offsetMin = Vector2.zero;
			component3.offsetMax = Vector2.zero;
			component3.pivot = new Vector2(0.5f, 0.5f);
			component3.anchoredPosition = Vector2.zero;
			component3.sizeDelta = Vector2.zero;
			Image component4 = val2.GetComponent<Image>();
			((Graphic)component4).color = _leftRightPanelBackgroundColor;
			component4.type = (Type)1;
			component2.viewport = component3;
			GameObject val3 = new GameObject("AuctionHouseUIListingPanel", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(VerticalLayoutGroup),
				typeof(ContentSizeFitter)
			});
			val3.transform.SetParent(val2.transform, false);
			_listingPanelRoot = val3;
			RectTransform component5 = val3.GetComponent<RectTransform>();
			component5.anchorMin = new Vector2(0f, 1f);
			component5.anchorMax = new Vector2(1f, 1f);
			component5.offsetMin = Vector2.zero;
			component5.offsetMax = Vector2.zero;
			component5.sizeDelta = Vector2.zero;
			component5.pivot = new Vector2(0.5f, 1f);
			component5.anchoredPosition = Vector2.zero;
			component5.sizeDelta = new Vector2(0f, 0f);
			VerticalLayoutGroup component6 = val3.GetComponent<VerticalLayoutGroup>();
			((HorizontalOrVerticalLayoutGroup)component6).childForceExpandWidth = true;
			((HorizontalOrVerticalLayoutGroup)component6).childControlWidth = true;
			((HorizontalOrVerticalLayoutGroup)component6).childForceExpandHeight = false;
			((LayoutGroup)component6).childAlignment = (TextAnchor)1;
			((LayoutGroup)component6).padding = new RectOffset(5, 25, 0, 0);
			((HorizontalOrVerticalLayoutGroup)component6).spacing = 2f;
			ContentSizeFitter component7 = val3.GetComponent<ContentSizeFitter>();
			component7.verticalFit = (FitMode)2;
			component7.horizontalFit = (FitMode)0;
			component2.content = component5;
			GameObject val4 = new GameObject("AuctionHouseUIScrollbar", new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(Scrollbar)
			});
			val4.transform.SetParent(val.transform, false);
			RectTransform component8 = val4.GetComponent<RectTransform>();
			component8.anchorMin = new Vector2(1f, 0f);
			component8.anchorMax = new Vector2(1f, 1f);
			component8.pivot = new Vector2(1f, 0.5f);
			component8.anchoredPosition = Vector2.zero;
			component8.sizeDelta = new Vector2(20f, 0f);
			component8.offsetMin = new Vector2(-21f, 10f);
			component8.offsetMax = new Vector2(0f, 0f);
			((Graphic)val4.GetComponent<Image>()).color = _leftRightPanelBackgroundColor;
			Scrollbar component9 = val4.GetComponent<Scrollbar>();
			component9.direction = (Direction)2;
			GameObject val5 = new GameObject("AuctionHouseUIHandle", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			val5.transform.SetParent(val4.transform, false);
			RectTransform component10 = val5.GetComponent<RectTransform>();
			component10.anchorMin = new Vector2(0f, 0f);
			component10.anchorMax = new Vector2(1f, 1f);
			component10.pivot = new Vector2(0.5f, 0.5f);
			component10.anchoredPosition = Vector2.zero;
			component10.sizeDelta = Vector2.zero;
			Image component11 = val5.GetComponent<Image>();
			((Graphic)component11).color = _scrollBarColor;
			((Selectable)component9).targetGraphic = (Graphic)(object)component11;
			component9.handleRect = component10;
			component2.verticalScrollbar = component9;
			component2.verticalScrollbarVisibility = (ScrollbarVisibility)0;
			component2.scrollSensitivity = 50f;
			_listingScrollRect = component2;
			((UnityEvent<Vector2>)(object)_listingScrollRect.onValueChanged).AddListener((UnityAction<Vector2>)OnScrollValueChanged);
			LayoutElement obj = val4.AddComponent<LayoutElement>();
			obj.minWidth = 20f;
			obj.preferredWidth = 20f;
			obj.flexibleWidth = 0f;
		}

		private void CreateAuctionHouseUIConfirmationDialogue(Transform parent)
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003d: Expected O, but got Unknown
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_008f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_0137: Unknown result type (might be due to invalid IL or missing references)
			//IL_013d: Expected O, but got Unknown
			//IL_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_017a: Unknown result type (might be due to invalid IL or missing references)
			//IL_018f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0230: Unknown result type (might be due to invalid IL or missing references)
			//IL_026c: Unknown result type (might be due to invalid IL or missing references)
			_confirmPanel = new GameObject("ConfirmBuyPanel", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image)
			});
			_confirmPanel.transform.SetParent(parent, false);
			RectTransform component = _confirmPanel.GetComponent<RectTransform>();
			component.sizeDelta = new Vector2(300f, 150f);
			component.anchorMin = new Vector2(0.5f, 0.5f);
			component.anchorMax = new Vector2(0.5f, 0.5f);
			component.pivot = new Vector2(0.5f, 0.5f);
			component.anchoredPosition = Vector2.zero;
			((Graphic)_confirmPanel.GetComponent<Image>()).color = _leftRightPanelBackgroundColor;
			Outline obj = _confirmPanel.AddComponent<Outline>();
			((Shadow)obj).effectColor = _buyPromptBorderColor;
			((Shadow)obj).effectDistance = new Vector2(2f, -2f);
			_confirmPanel.SetActive(false);
			GameObject val = new GameObject("ConfirmMessage", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Text)
			});
			val.transform.SetParent(_confirmPanel.transform, false);
			RectTransform component2 = val.GetComponent<RectTransform>();
			component2.anchorMin = new Vector2(0f, 0.5f);
			component2.anchorMax = new Vector2(1f, 1f);
			component2.offsetMin = new Vector2(10f, -10f);
			component2.offsetMax = new Vector2(-10f, -50f);
			_buyPromptText = val.GetComponent<Text>();
			_buyPromptText.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
			_buyPromptText.fontSize = 16;
			((Graphic)_buyPromptText).color = Color.white;
			_buyPromptText.alignment = (TextAnchor)4;
			_buyPromptText.horizontalOverflow = (HorizontalWrapMode)0;
			_buyPromptText.verticalOverflow = (VerticalWrapMode)1;
			_yesButton = CreateAuctionHouseUIConfirmButton("YesButton", "Confirm", _confirmPanel.transform, new Vector2(-60f, 15f), delegate
			{
				_confirmPanel.SetActive(false);
				BuyItem();
			});
			_noButton = CreateAuctionHouseUIConfirmButton("NoButton", "Cancel", _confirmPanel.transform, new Vector2(60f, 15f), delegate
			{
				_confirmPanel.SetActive(false);
			});
		}

		private Button CreateAuctionHouseUIConfirmButton(string name, string label, Transform parent, Vector2 anchoredPos, Action onClick)
		{
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_004f: Expected O, but got Unknown
			//IL_006d: Unknown result type (might be due to invalid IL or missing references)
			//IL_008a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0090: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_012d: Unknown result type (might be due to invalid IL or missing references)
			//IL_014b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0155: Expected O, but got Unknown
			//IL_0187: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_019e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = new GameObject(name, new Type[4]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Image),
				typeof(Button)
			});
			val.transform.SetParent(parent, false);
			RectTransform component = val.GetComponent<RectTransform>();
			component.sizeDelta = new Vector2(100f, 35f);
			Vector2 val2 = default(Vector2);
			((Vector2)(ref val2))..ctor(0.5f, 0f);
			component.anchorMax = val2;
			component.anchorMin = val2;
			component.pivot = new Vector2(0.5f, 0f);
			component.anchoredPosition = anchoredPos;
			((Graphic)val.GetComponent<Image>()).color = ((name == "YesButton") ? new Color(0.2f, 0.8f, 0.2f, 0.7f) : new Color(0.8f, 0.2f, 0.2f, 0.7f));
			Outline obj = val.AddComponent<Outline>();
			((Shadow)obj).effectColor = new Color(0.3f, 0.3f, 0.3f, 0.5f);
			((Shadow)obj).effectDistance = new Vector2(1f, -1f);
			Button component2 = val.GetComponent<Button>();
			((UnityEvent)component2.onClick).AddListener((UnityAction)delegate
			{
				onClick();
			});
			GameObject val3 = new GameObject("Text", new Type[3]
			{
				typeof(RectTransform),
				typeof(CanvasRenderer),
				typeof(Text)
			});
			val3.transform.SetParent(val.transform, false);
			RectTransform component3 = val3.GetComponent<RectTransform>();
			component3.anchorMin = Vector2.zero;
			component3.anchorMax = Vector2.one;
			component3.offsetMin = Vector2.zero;
			component3.offsetMax = Vector2.zero;
			Text component4 = val3.GetComponent<Text>();
			component4.text = label;
			component4.font = Resources.GetBuiltinResource<Font>("Arial.ttf");
			component4.fontSize = 16;
			((Graphic)component4).color = Color.black;
			component4.alignment = (TextAnchor)4;
			return component2;
		}

		private void CreateListingHeaderRow(Transform parent)
		{
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Expected O, but got Unknown
			//IL_005d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Expected O, but got Unknown
			//IL_0130: Unknown result type (might be due to invalid IL or missing references)
			//IL_0136: Expected O, but got Unknown
			//IL_0159: Unknown result type (might be due to invalid IL or missing references)
			//IL_017d: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0233: Unknown result type (might be due to invalid IL or missing references)
			//IL_0238: Unknown result type (might be due to invalid IL or missing references)
			//IL_0245: Unknown result type (might be due to invalid IL or missing references)
			//IL_025c: Unknown result type (might be du