Decompiled source of SmoothReserves Decor v1.1.3

SomeStuff.dll

Decompiled 2 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using LethalLib.Modules;
using TerminalApi;
using TerminalApi.Events;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("SomeStuff")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SomeStuff")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("8b8d4b02-f0c4-41ef-86f4-cac85c26b89d")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace SmoothReserevesDecor;

[BepInPlugin("SmoothReserve.SmoothReservesDecor", "SmoothReserves Decor", "1.1.3")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class SmoothReservesDecor : BaseUnityPlugin
{
	private const string modGUID = "SmoothReserve.SmoothReservesDecor";

	private const string modName = "SmoothReserves Decor";

	private const string modVersion = "1.1.3";

	private readonly Harmony harmony = new Harmony("SmoothReserve.SmoothReservesDecor");

	private static SmoothReservesDecor Instance;

	private bool stringPrinted = false;

	private ConfigEntry<int> configArma;

	private ConfigEntry<int> configAot;

	private ConfigEntry<int> configKim;

	private ConfigEntry<int> configHelldivers;

	private ConfigEntry<int> configRE2;

	private ConfigEntry<int> configCat;

	private ConfigEntry<int> configCraft;

	private ConfigEntry<int> configZombie;

	private ConfigEntry<int> configFootball;

	private ConfigEntry<int> configPersona;

	private ConfigEntry<int> configROR2;

	private ConfigEntry<int> configCSGO2;

	private ConfigEntry<int> configTerraria;

	private ConfigEntry<int> configTF2;

	private ConfigEntry<int> configZomboid;

	private ConfigEntry<int> configEyelessDog;

	private ConfigEntry<int> configSofa;

	private ConfigEntry<int> configDivider;

	private ConfigEntry<int> configMiniFrige;

	private ConfigEntry<int> configFridge;

	private ConfigEntry<int> configStove;

	private ConfigEntry<int> configCounter;

	private ConfigEntry<int> configCabinet;

	private ConfigEntry<int> configChoppingBoard;

	private ConfigEntry<int> configPot;

	private ConfigEntry<int> configPan;

	private ConfigEntry<int> configToaster;

	private ConfigEntry<int> configFlatScreen;

	private ConfigEntry<int> configSBox;

	private ConfigEntry<int> configJoystick;

	private ConfigEntry<int> configToiletPaperStand;

	private ConfigEntry<int> configTrashCan;

	private ConfigEntry<int> configSoap;

	private ConfigEntry<int> configTowelRack;

	private ConfigEntry<int> configSink;

	private ConfigEntry<int> configShower;

	private ConfigEntry<int> configToothbrushHolder;

	private ConfigEntry<int> configWashroomCubby;

	private ConfigEntry<int> configPiano;

	private ConfigEntry<int> configTVStand;

	private ConfigEntry<int> configTrafficCone;

	private ConfigEntry<int> configLaptop;

	private ConfigEntry<int> configBasicTable;

	private ConfigEntry<int> configGamingChair;

	private ConfigEntry<int> configToilet;

	private ConfigEntry<int> configBasicItemShelf;

	private ConfigEntry<int> configEndTable;

	private ConfigEntry<int> configBasicStandingLamp;

	private ConfigEntry<int> configVRHeadset;

	private ConfigEntry<int> configDrawingTablet;

	private ConfigEntry<int> configRectangleRug;

	private ConfigEntry<int> configCircleRug;

	private ConfigEntry<int> configShowerMat;

	private ConfigEntry<int> configPlunger;

	private ConfigEntry<int> configDeskLamp;

	private ConfigEntry<int> configHeadphones;

	private ConfigEntry<int> configSPhone;

	private ConfigEntry<int> configWasher;

	private ConfigEntry<int> configDryer;

	private ConfigEntry<int> configAxe;

	private ConfigEntry<int> configBasicCeilingLight1;

	private ConfigEntry<int> configBasicCeilingLight2;

	private ConfigEntry<int> configBasicWallLight1;

	private ConfigEntry<int> configBasicWallLight2;

	public string PingCommand()
	{
		return "Pong!";
	}

	private void Awake()
	{
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_07ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_07d1: Expected O, but got Unknown
		//IL_0849: Unknown result type (might be due to invalid IL or missing references)
		//IL_0850: Expected O, but got Unknown
		//IL_093a: Unknown result type (might be due to invalid IL or missing references)
		//IL_093f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0943: Unknown result type (might be due to invalid IL or missing references)
		//IL_0952: Unknown result type (might be due to invalid IL or missing references)
		//IL_0961: Unknown result type (might be due to invalid IL or missing references)
		//IL_0981: Unknown result type (might be due to invalid IL or missing references)
		if ((Object)(object)Instance == (Object)null)
		{
			Instance = this;
		}
		ConfigEntry<bool> val = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "IsPlayerUsingImports", false, "Are you using custom imports?");
		Events.TerminalAwake += new TerminalEventHandler(TerminalIsAwake);
		string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "axeitembundle");
		AssetBundle val2 = AssetBundle.LoadFromFile(text);
		string path = "";
		if (val.Value)
		{
			path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "imports");
		}
		string[] array = new string[0];
		string[] array2 = new string[0];
		string[] array3 = new string[0];
		string[] array4 = new string[0];
		UnlockablesList[] array5 = (UnlockablesList[])(object)new UnlockablesList[0];
		UnlockableItem[] array6 = (UnlockableItem[])(object)new UnlockableItem[0];
		if (val.Value)
		{
			array = Directory.GetDirectories(path);
			array2 = new string[array.Length];
			array3 = new string[array.Length];
			array4 = new string[array.Length];
			int num = 0;
			string[] array7 = array;
			foreach (string text2 in array7)
			{
				num++;
			}
			array5 = (UnlockablesList[])(object)new UnlockablesList[num];
			array6 = (UnlockableItem[])(object)new UnlockableItem[num];
		}
		string text3 = "WELCOME TO SMOOTHRESERVES DECOR!\nplease select a subcatagory\n_____________________________\n";
		if (val.Value)
		{
			int num2 = 0;
			string[] array8 = array;
			foreach (string path2 in array8)
			{
				switch (num2)
				{
				case 0:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate0/ImportTemplateUnlockable.asset");
					break;
				case 1:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate1/ImportTemplateUnlockable.asset");
					break;
				case 2:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate2/ImportTemplateUnlockable.asset");
					break;
				case 3:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate3/ImportTemplateUnlockable.asset");
					break;
				case 4:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate4/ImportTemplateUnlockable.asset");
					break;
				case 5:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate5/ImportTemplateUnlockable.asset");
					break;
				case 6:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate6/ImportTemplateUnlockable.asset");
					break;
				case 7:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate7/ImportTemplateUnlockable.asset");
					break;
				case 8:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate8/ImportTemplateUnlockable.asset");
					break;
				case 9:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate9/ImportTemplateUnlockable.asset");
					break;
				case 10:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate10/ImportTemplateUnlockable.asset");
					break;
				case 11:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate11/ImportTemplateUnlockable.asset");
					break;
				case 12:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate12/ImportTemplateUnlockable.asset");
					break;
				case 13:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate13/ImportTemplateUnlockable.asset");
					break;
				case 14:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate14/ImportTemplateUnlockable.asset");
					break;
				case 15:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate15/ImportTemplateUnlockable.asset");
					break;
				case 16:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate16/ImportTemplateUnlockable.asset");
					break;
				case 17:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate17/ImportTemplateUnlockable.asset");
					break;
				case 18:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate18/ImportTemplateUnlockable.asset");
					break;
				case 19:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate19/ImportTemplateUnlockable.asset");
					break;
				case 20:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate20/ImportTemplateUnlockable.asset");
					break;
				case 21:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate21/ImportTemplateUnlockable.asset");
					break;
				case 22:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate22/ImportTemplateUnlockable.asset");
					break;
				case 23:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate23/ImportTemplateUnlockable.asset");
					break;
				case 24:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate24/ImportTemplateUnlockable.asset");
					break;
				case 25:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate25/ImportTemplateUnlockable.asset");
					break;
				case 26:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate26/ImportTemplateUnlockable.asset");
					break;
				case 27:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate27/ImportTemplateUnlockable.asset");
					break;
				case 28:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate28/ImportTemplateUnlockable.asset");
					break;
				case 29:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate29/ImportTemplateUnlockable.asset");
					break;
				case 30:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate30/ImportTemplateUnlockable.asset");
					break;
				case 31:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate31/ImportTemplateUnlockable.asset");
					break;
				case 32:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate32/ImportTemplateUnlockable.asset");
					break;
				case 33:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate33/ImportTemplateUnlockable.asset");
					break;
				case 34:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate34/ImportTemplateUnlockable.asset");
					break;
				case 35:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate35/ImportTemplateUnlockable.asset");
					break;
				case 36:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate36/ImportTemplateUnlockable.asset");
					break;
				case 37:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate37/ImportTemplateUnlockable.asset");
					break;
				case 38:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate38/ImportTemplateUnlockable.asset");
					break;
				case 39:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate39/ImportTemplateUnlockable.asset");
					break;
				case 40:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate40/ImportTemplateUnlockable.asset");
					break;
				case 41:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate41/ImportTemplateUnlockable.asset");
					break;
				case 42:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate42/ImportTemplateUnlockable.asset");
					break;
				case 43:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate43/ImportTemplateUnlockable.asset");
					break;
				case 44:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate44/ImportTemplateUnlockable.asset");
					break;
				case 45:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate45/ImportTemplateUnlockable.asset");
					break;
				case 46:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate46/ImportTemplateUnlockable.asset");
					break;
				case 47:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate47/ImportTemplateUnlockable.asset");
					break;
				case 48:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate48/ImportTemplateUnlockable.asset");
					break;
				case 49:
					array5[num2] = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ImportTemplates/ImportTemplate49/ImportTemplateUnlockable.asset");
					break;
				}
				Material val3 = new Material(Shader.Find("HDRP/Lit"));
				array6[num2] = array5[num2].unlockables[0];
				GameObject prefabObject = array6[num2].prefabObject;
				array2[num2] = Path.GetFileName(path2);
				array3[num2] = Directory.GetFiles(path2, "*.png")[0];
				array4[num2] = Directory.GetFiles(path2, "*.obj")[0];
				prefabObject.GetComponentInChildren<MeshFilter>().mesh = LoadMeshFromOBJ(array4[num2]);
				byte[] array9 = File.ReadAllBytes(array3[num2]);
				Texture2D val4 = new Texture2D(2, 2);
				ImageConversion.LoadImage(val4, array9);
				val3.mainTexture = (Texture)(object)val4;
				((Renderer)prefabObject.GetComponentInChildren<MeshRenderer>()).material = val3;
				array6[num2].spawnPrefab = Object.op_Implicit((Object)(object)prefabObject);
				NetworkPrefabs.RegisterNetworkPrefab(array6[num2].prefabObject);
				Utilities.FixMixerGroups(array6[num2].prefabObject);
				ConfigEntry<float> val5 = ((BaseUnityPlugin)this).Config.Bind<float>("General", array2[num2] + " scale", 1f, "The scale of the " + array2[num2]);
				if (array2[num2] == "Skull")
				{
					val5.Value = 0.025f;
				}
				ConfigEntry<int> val6 = ((BaseUnityPlugin)this).Config.Bind<int>("General", array2[num2] + " price", 1, "The scale of the " + array2[num2]);
				Vector3 localScale = ((Component)prefabObject.GetComponentInChildren<MeshRenderer>()).transform.localScale;
				((Vector3)(ref localScale))..ctor(localScale.x * val5.Value, localScale.y * val5.Value, localScale.z * val5.Value);
				((Component)prefabObject.GetComponentInChildren<MeshRenderer>()).transform.localScale = localScale;
				array6[num2].unlockableName = array2[num2];
				Unlockables.RegisterUnlockable(array6[num2], (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, 1);
				((BaseUnityPlugin)this).Logger.LogMessage((object)("object " + (num2 + 1) + "  Name: " + array2[num2] + "  png: " + Path.GetFileName(array3[num2]) + "  obj: " + Path.GetFileName(array4[num2])));
				((BaseUnityPlugin)this).Logger.LogMessage((object)array6[num2].unlockableName);
				text3 = text3 + "\n" + array2[num2] + " - [" + val6.Value + "]\nProduct ID: " + array2[num2] + "\n";
				num2++;
			}
		}
		text3 += "_____________________________\n";
		UnlockablesList val7 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Arma/ArmaUnlockable.asset");
		UnlockableItem val8 = val7.unlockables[0];
		UnlockablesList val9 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/AOT/AOTUnlockable.asset");
		UnlockableItem val10 = val9.unlockables[0];
		UnlockablesList val11 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Kim/KimUnlockable.asset");
		UnlockableItem val12 = val11.unlockables[0];
		UnlockablesList val13 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Helldivers/HelldiversUnlockable.asset");
		UnlockableItem val14 = val13.unlockables[0];
		UnlockablesList val15 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/RE2/RE2Unlockable.asset");
		UnlockableItem val16 = val15.unlockables[0];
		UnlockablesList val17 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Cat/CatUnlockable.asset");
		UnlockableItem val18 = val17.unlockables[0];
		UnlockablesList val19 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Craft/CraftUnlockable.asset");
		UnlockableItem val20 = val19.unlockables[0];
		UnlockablesList val21 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Zombies/ZombiesUnlockable.asset");
		UnlockableItem val22 = val21.unlockables[0];
		UnlockablesList val23 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Football/FootballUnlockable.asset");
		UnlockableItem val24 = val23.unlockables[0];
		UnlockablesList val25 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Persona/PersonaUnlockable.asset");
		UnlockableItem val26 = val25.unlockables[0];
		UnlockablesList val27 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ROR/RORUnlockable.asset");
		UnlockableItem val28 = val27.unlockables[0];
		UnlockablesList val29 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/CSGO/CSGOUnlockable.asset");
		UnlockableItem val30 = val29.unlockables[0];
		UnlockablesList val31 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Terraria/TerrariaUnlockable.asset");
		UnlockableItem val32 = val31.unlockables[0];
		UnlockablesList val33 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TF2/TF2Unlockable.asset");
		UnlockableItem val34 = val33.unlockables[0];
		UnlockablesList val35 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Zomboid/ZomboidUnlockable.asset");
		UnlockableItem val36 = val35.unlockables[0];
		UnlockablesList val37 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/EyelessDog/EyelessDogUnlockable.asset");
		UnlockableItem val38 = val37.unlockables[0];
		UnlockablesList val39 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Sofa/SofaUnlockable.asset");
		UnlockableItem val40 = val39.unlockables[0];
		UnlockablesList val41 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DeviderWall/DeviderWallUnlockable.asset");
		UnlockableItem val42 = val41.unlockables[0];
		UnlockablesList val43 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/MiniFridge/MiniFridgeUnlockable.asset");
		UnlockableItem val44 = val43.unlockables[0];
		UnlockablesList val45 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Fridge/FridgeUnlockable.asset");
		UnlockableItem val46 = val45.unlockables[0];
		UnlockablesList val47 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Stove/StoveUnlockable.asset");
		UnlockableItem val48 = val47.unlockables[0];
		UnlockablesList val49 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Counter/CounterUnlockable.asset");
		UnlockableItem val50 = val49.unlockables[0];
		UnlockablesList val51 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Cupboard/CupboardUnlockable.asset");
		UnlockableItem val52 = val51.unlockables[0];
		UnlockablesList val53 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ChoppingBoard/ChoppingBoardUnlockable.asset");
		UnlockableItem val54 = val53.unlockables[0];
		UnlockablesList val55 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Pan/PanUnlockable.asset");
		UnlockableItem val56 = val55.unlockables[0];
		UnlockablesList val57 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Toaster/ToasterUnlockable.asset");
		UnlockableItem val58 = val57.unlockables[0];
		UnlockablesList val59 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Pot/PotUnlockable.asset");
		UnlockableItem val60 = val59.unlockables[0];
		UnlockablesList val61 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/FlatScreen/FlatScreenUnlockable.asset");
		UnlockableItem val62 = val61.unlockables[0];
		UnlockablesList val63 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/SBox/SBoxUnlockable.asset");
		UnlockableItem val64 = val63.unlockables[0];
		UnlockablesList val65 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Joystick/JoystickUnlockable.asset");
		UnlockableItem val66 = val65.unlockables[0];
		UnlockablesList val67 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ToiletPaperHolder/ToiletPaperHolderUnlockable.asset");
		UnlockableItem val68 = val67.unlockables[0];
		UnlockablesList val69 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TowelRack/TowelRackUnlockable.asset");
		UnlockableItem val70 = val69.unlockables[0];
		UnlockablesList val71 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TrashCan/TrashCanUnlockable.asset");
		UnlockableItem val72 = val71.unlockables[0];
		UnlockablesList val73 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Sink/SinkUnlockable.asset");
		UnlockableItem val74 = val73.unlockables[0];
		UnlockablesList val75 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Soap/SoapUnlockable.asset");
		UnlockableItem val76 = val75.unlockables[0];
		UnlockablesList val77 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/WashroomCubby/WashroomCubbyUnlockable.asset");
		UnlockableItem val78 = val77.unlockables[0];
		UnlockablesList val79 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Shower/ShowerUnlockable.asset");
		UnlockableItem val80 = val79.unlockables[0];
		UnlockablesList val81 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Toilet/ToiletUnlockable.asset");
		UnlockableItem val82 = val81.unlockables[0];
		UnlockablesList val83 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TVStand/TVStandUnlockable.asset");
		UnlockableItem val84 = val83.unlockables[0];
		UnlockablesList val85 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Piano/PianoUnlockable.asset");
		UnlockableItem val86 = val85.unlockables[0];
		UnlockablesList val87 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Laptop/LaptopUnlockable.asset");
		UnlockableItem val88 = val87.unlockables[0];
		UnlockablesList val89 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicTable/BasicTableUnlockable.asset");
		UnlockableItem val90 = val89.unlockables[0];
		UnlockablesList val91 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/GamingChair/GamingChairUnlockable.asset");
		UnlockableItem val92 = val91.unlockables[0];
		UnlockablesList val93 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/TrafficCone/TrafficConeUnlockable.asset");
		UnlockableItem val94 = val93.unlockables[0];
		UnlockablesList val95 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ToothbrushHolder/ToothbrushHolderUnlockable.asset");
		UnlockableItem val96 = val95.unlockables[0];
		UnlockablesList val97 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicItemShelf/BasicItemShelfUnlockable.asset");
		UnlockableItem val98 = val97.unlockables[0];
		UnlockablesList val99 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/EndTable/EndTableUnlockable.asset");
		UnlockableItem val100 = val99.unlockables[0];
		UnlockablesList val101 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicStandingLamp/BasicStandingLampUnlockable.asset");
		UnlockableItem val102 = val101.unlockables[0];
		UnlockablesList val103 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/VRHeadset/VRHeadsetUnlockable.asset");
		UnlockableItem val104 = val103.unlockables[0];
		UnlockablesList val105 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DrawingTablet/DrawingTabletUnlockable.asset");
		UnlockableItem val106 = val105.unlockables[0];
		UnlockablesList val107 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/RectangleRug/RectangleRugUnlockable.asset");
		UnlockableItem val108 = val107.unlockables[0];
		UnlockablesList val109 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/CircleRug/CircleRugUnlockable.asset");
		UnlockableItem val110 = val109.unlockables[0];
		UnlockablesList val111 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/ShowerMat/ShowerMatUnlockable.asset");
		UnlockableItem val112 = val111.unlockables[0];
		UnlockablesList val113 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Plunger/PlungerUnlockable.asset");
		UnlockableItem val114 = val113.unlockables[0];
		UnlockablesList val115 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DeskLamp/DeskLampUnlockable.asset");
		UnlockableItem val116 = val115.unlockables[0];
		UnlockablesList val117 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Headphones/HeadphonesUnlockable.asset");
		UnlockableItem val118 = val117.unlockables[0];
		UnlockablesList val119 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/SPhone/SPhoneUnlockable.asset");
		UnlockableItem val120 = val119.unlockables[0];
		UnlockablesList val121 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/WashingMachine/WashingMachineUnlockable.asset");
		UnlockableItem val122 = val121.unlockables[0];
		UnlockablesList val123 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/DryingMachine/DryingMachineUnlockable.asset");
		UnlockableItem val124 = val123.unlockables[0];
		UnlockablesList val125 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/Axe/AxeUnlockable.asset");
		UnlockableItem val126 = val125.unlockables[0];
		UnlockablesList val127 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicCeilingLight1/BasicCeilingLight1Unlockable.asset");
		UnlockableItem val128 = val127.unlockables[0];
		UnlockablesList val129 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicCeilingLight2/BasicCeilingLight2Unlockable.asset");
		UnlockableItem val130 = val129.unlockables[0];
		UnlockablesList val131 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicWallLight1/BasicWallLight1Unlockable.asset");
		UnlockableItem val132 = val131.unlockables[0];
		UnlockablesList val133 = val2.LoadAsset<UnlockablesList>("Assets/SomeStuff/BasicWallLight2/BasicWallLight2Unlockable.asset");
		UnlockableItem val134 = val133.unlockables[0];
		NetworkPrefabs.RegisterNetworkPrefab(val8.prefabObject);
		Utilities.FixMixerGroups(val8.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val10.prefabObject);
		Utilities.FixMixerGroups(val10.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val12.prefabObject);
		Utilities.FixMixerGroups(val12.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val14.prefabObject);
		Utilities.FixMixerGroups(val14.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val16.prefabObject);
		Utilities.FixMixerGroups(val16.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val18.prefabObject);
		Utilities.FixMixerGroups(val18.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val20.prefabObject);
		Utilities.FixMixerGroups(val20.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val22.prefabObject);
		Utilities.FixMixerGroups(val22.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val24.prefabObject);
		Utilities.FixMixerGroups(val24.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val26.prefabObject);
		Utilities.FixMixerGroups(val26.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val28.prefabObject);
		Utilities.FixMixerGroups(val28.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val30.prefabObject);
		Utilities.FixMixerGroups(val30.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val32.prefabObject);
		Utilities.FixMixerGroups(val32.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val34.prefabObject);
		Utilities.FixMixerGroups(val34.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val36.prefabObject);
		Utilities.FixMixerGroups(val36.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val38.prefabObject);
		Utilities.FixMixerGroups(val38.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val40.prefabObject);
		Utilities.FixMixerGroups(val40.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val42.prefabObject);
		Utilities.FixMixerGroups(val42.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val44.prefabObject);
		Utilities.FixMixerGroups(val44.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val46.prefabObject);
		Utilities.FixMixerGroups(val46.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val48.prefabObject);
		Utilities.FixMixerGroups(val48.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val50.prefabObject);
		Utilities.FixMixerGroups(val50.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val52.prefabObject);
		Utilities.FixMixerGroups(val52.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val52.prefabObject);
		Utilities.FixMixerGroups(val56.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val56.prefabObject);
		Utilities.FixMixerGroups(val58.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val58.prefabObject);
		Utilities.FixMixerGroups(val54.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val54.prefabObject);
		Utilities.FixMixerGroups(val60.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val60.prefabObject);
		Utilities.FixMixerGroups(val62.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val62.prefabObject);
		Utilities.FixMixerGroups(val64.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val64.prefabObject);
		Utilities.FixMixerGroups(val66.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val66.prefabObject);
		Utilities.FixMixerGroups(val68.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val68.prefabObject);
		Utilities.FixMixerGroups(val70.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val70.prefabObject);
		Utilities.FixMixerGroups(val72.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val72.prefabObject);
		Utilities.FixMixerGroups(val74.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val74.prefabObject);
		Utilities.FixMixerGroups(val76.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val76.prefabObject);
		Utilities.FixMixerGroups(val78.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val78.prefabObject);
		Utilities.FixMixerGroups(val80.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val80.prefabObject);
		Utilities.FixMixerGroups(val82.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val82.prefabObject);
		Utilities.FixMixerGroups(val86.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val86.prefabObject);
		Utilities.FixMixerGroups(val84.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val84.prefabObject);
		Utilities.FixMixerGroups(val88.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val88.prefabObject);
		Utilities.FixMixerGroups(val90.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val90.prefabObject);
		Utilities.FixMixerGroups(val92.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val92.prefabObject);
		Utilities.FixMixerGroups(val94.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val94.prefabObject);
		Utilities.FixMixerGroups(val96.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val96.prefabObject);
		Utilities.FixMixerGroups(val98.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val98.prefabObject);
		Utilities.FixMixerGroups(val100.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val100.prefabObject);
		Utilities.FixMixerGroups(val102.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val102.prefabObject);
		Utilities.FixMixerGroups(val104.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val104.prefabObject);
		Utilities.FixMixerGroups(val106.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val106.prefabObject);
		Utilities.FixMixerGroups(val108.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val108.prefabObject);
		Utilities.FixMixerGroups(val110.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val110.prefabObject);
		Utilities.FixMixerGroups(val112.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val112.prefabObject);
		Utilities.FixMixerGroups(val116.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val116.prefabObject);
		Utilities.FixMixerGroups(val114.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val114.prefabObject);
		Utilities.FixMixerGroups(val118.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val118.prefabObject);
		Utilities.FixMixerGroups(val120.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val120.prefabObject);
		Utilities.FixMixerGroups(val122.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val122.prefabObject);
		Utilities.FixMixerGroups(val124.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val124.prefabObject);
		Utilities.FixMixerGroups(val126.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val126.prefabObject);
		Utilities.FixMixerGroups(val132.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val132.prefabObject);
		Utilities.FixMixerGroups(val134.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val134.prefabObject);
		Utilities.FixMixerGroups(val128.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val128.prefabObject);
		Utilities.FixMixerGroups(val130.prefabObject);
		NetworkPrefabs.RegisterNetworkPrefab(val130.prefabObject);
		configArma = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ArmaPosterPrice", 30, "The price of the Arma poster");
		configAot = ((BaseUnityPlugin)this).Config.Bind<int>("General", "AttackOnTitanPosterPrice", 30, "The price of the Attack on Titan poster");
		configKim = ((BaseUnityPlugin)this).Config.Bind<int>("General", "KitsuragiPosterPrice", 30, "The price of the Kitsuragi poster");
		configHelldivers = ((BaseUnityPlugin)this).Config.Bind<int>("General", "HelldiversPosterPrice", 30, "The price of the Helldivers2 poster");
		configRE2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "RE2PosterPrice", 30, "The price of the RE2 poster");
		configCat = ((BaseUnityPlugin)this).Config.Bind<int>("General", "HappyCatPosterPrice", 30, "The price of the Happy Cat poster");
		configCraft = ((BaseUnityPlugin)this).Config.Bind<int>("General", "MinecraftPosterPrice", 30, "The price of the Minecraft poster");
		configZombie = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ZombiesPosterPrice", 30, "The price of the Zombies poster");
		configFootball = ((BaseUnityPlugin)this).Config.Bind<int>("General", "FootballPosterPrice", 30, "The price of the Football poster");
		configPersona = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PersonaPosterPrice", 30, "The price of the Persona 5 poster");
		configROR2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ROR2PosterPrice", 30, "The price of the Risk of Rain 2 poster");
		configCSGO2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CSGO2PosterPrice", 30, "The price of the CSGO 2 poster");
		configTerraria = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TerrariaPosterPrice", 30, "The price of the Terraria poster");
		configTF2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TF2PosterPrice", 30, "The price of the TF2 poster");
		configZomboid = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ZomboidPosterPrice", 30, "The price of the Zomboid poster");
		configEyelessDog = ((BaseUnityPlugin)this).Config.Bind<int>("General", "EyelessDogPosterPrice", 30, "The price of the Eyeless Dog poster");
		configSofa = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SofaPrice", 50, "The price of the Sofa");
		configDivider = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DividerPrice", 125, "The price of the Divider");
		configMiniFrige = ((BaseUnityPlugin)this).Config.Bind<int>("General", "MiniFridgePrice", 40, "The price of the Mini Fridge");
		configFridge = ((BaseUnityPlugin)this).Config.Bind<int>("General", "FridgePrice", 50, "The price of the Fridge");
		configStove = ((BaseUnityPlugin)this).Config.Bind<int>("General", "StovePrice", 40, "The price of the Stove");
		configCounter = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CounterPrice", 30, "The price of the Counter");
		configCabinet = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CabinetPrice", 30, "The price of the Cabinet");
		configChoppingBoard = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ChoppingBoardPrice", 15, "The price of the Chopping Board");
		configPot = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PotPrice", 20, "The price of the Pot");
		configPan = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PanPrice", 20, "The price of the Pan");
		configToaster = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToasterPrice", 25, "The price of the Toaster");
		configFlatScreen = ((BaseUnityPlugin)this).Config.Bind<int>("General", "FlatscreenTVPrice", 50, "The price of the Flatscreen TV");
		configSBox = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SBoxPrice", 40, "The price of the SBox");
		configJoystick = ((BaseUnityPlugin)this).Config.Bind<int>("General", "JoystickPrice", 15, "The price of the Joystick");
		configToiletPaperStand = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToiletPaperStandPrice", 20, "The price of the Toilet Paper Stand");
		configTrashCan = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TrashCanPrice", 15, "The price of the Trash Can");
		configSoap = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SoapPrice", 10, "The price of the Soap");
		configTowelRack = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TowelRackPrice", 25, "The price of the Towel Rack");
		configSink = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SinkPrice", 50, "The price of the Sink");
		configShower = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ShowerPrice", 75, "The price of the Shower");
		configToothbrushHolder = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToothbrushHolderPrice", 15, "The price of the Toothbrush Holder");
		configWashroomCubby = ((BaseUnityPlugin)this).Config.Bind<int>("General", "WashroomCubbyPrice", 100, "The price of the Washroom Cubby");
		configPiano = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PianoPrice", 50, "The price of the Piano");
		configTVStand = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TVStandPrice", 40, "The price of the TV Stand");
		configTrafficCone = ((BaseUnityPlugin)this).Config.Bind<int>("General", "TrafficConePrice", 15, "The price of the Traffic Cone");
		configLaptop = ((BaseUnityPlugin)this).Config.Bind<int>("General", "LaptopPrice", 40, "The price of the Laptop");
		configBasicTable = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicTablePrice", 30, "The price of the Basic Table");
		configGamingChair = ((BaseUnityPlugin)this).Config.Bind<int>("General", "GamingChairPrice", 50, "The price of the Gaming Chair");
		configToilet = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ToiletPrice", 50, "The price of the Toilet");
		configBasicItemShelf = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicItemShelfPrice", 40, "The price of the Basic Item Shelf");
		configEndTable = ((BaseUnityPlugin)this).Config.Bind<int>("General", "EndTablePrice", 35, "The price of the End Table");
		configBasicStandingLamp = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicStandingLampPrice", 25, "The price of the Basic Standing Lamp");
		configVRHeadset = ((BaseUnityPlugin)this).Config.Bind<int>("General", "VRHeadsetPrice", 30, "The price of the VR Headset");
		configDrawingTablet = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DrawingTabletPrice", 30, "The price of the Drawing Tablet");
		configRectangleRug = ((BaseUnityPlugin)this).Config.Bind<int>("General", "RectangleRugPrice", 25, "The price of the Rectangle Rug");
		configCircleRug = ((BaseUnityPlugin)this).Config.Bind<int>("General", "CircleRugPrice", 20, "The price of the Circle Rug");
		configShowerMat = ((BaseUnityPlugin)this).Config.Bind<int>("General", "ShowerMatPrice", 15, "The price of the Shower Mat");
		configPlunger = ((BaseUnityPlugin)this).Config.Bind<int>("General", "PlungerPrice", 30, "The price of the Plunger");
		configDeskLamp = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DeskLampPrice", 15, "The price of the Desk Lamp");
		configHeadphones = ((BaseUnityPlugin)this).Config.Bind<int>("General", "HeadphonesPrice", 30, "The price of the Headphones");
		configSPhone = ((BaseUnityPlugin)this).Config.Bind<int>("General", "SPhonePrice", 30, "The price of the SPhone");
		configWasher = ((BaseUnityPlugin)this).Config.Bind<int>("General", "WashingMachinePrice", 50, "The price of the Washing Machine");
		configDryer = ((BaseUnityPlugin)this).Config.Bind<int>("General", "DryingMachinePrice", 50, "The price of the Drying Machine");
		configAxe = ((BaseUnityPlugin)this).Config.Bind<int>("General", "AxePrice", 20, "The price of the Axe");
		configBasicCeilingLight1 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicCeilingLight1", 20, "The price of the Basic Ceiling Light 1");
		configBasicCeilingLight2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicCeilingLight2", 20, "The price of the Basic Ceiling Light 2");
		configBasicWallLight1 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicWallLight1", 20, "The price of the Basic Wall Light 1");
		configBasicWallLight2 = ((BaseUnityPlugin)this).Config.Bind<int>("General", "BasicWallLight2", 20, "The price of the Basic Wall Light 2");
		Unlockables.RegisterUnlockable(val8, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configArma.Value);
		Unlockables.RegisterUnlockable(val10, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configAot.Value);
		Unlockables.RegisterUnlockable(val12, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configKim.Value);
		Unlockables.RegisterUnlockable(val14, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configHelldivers.Value);
		Unlockables.RegisterUnlockable(val16, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configRE2.Value);
		Unlockables.RegisterUnlockable(val18, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCat.Value);
		Unlockables.RegisterUnlockable(val20, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCraft.Value);
		Unlockables.RegisterUnlockable(val22, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configZombie.Value);
		Unlockables.RegisterUnlockable(val24, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configFootball.Value);
		Unlockables.RegisterUnlockable(val26, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPersona.Value);
		Unlockables.RegisterUnlockable(val28, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configROR2.Value);
		Unlockables.RegisterUnlockable(val30, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCSGO2.Value);
		Unlockables.RegisterUnlockable(val32, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTerraria.Value);
		Unlockables.RegisterUnlockable(val34, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTF2.Value);
		Unlockables.RegisterUnlockable(val36, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configZomboid.Value);
		Unlockables.RegisterUnlockable(val38, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configEyelessDog.Value);
		Unlockables.RegisterUnlockable(val40, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSofa.Value);
		Unlockables.RegisterUnlockable(val42, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDivider.Value);
		Unlockables.RegisterUnlockable(val44, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configMiniFrige.Value);
		Unlockables.RegisterUnlockable(val46, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configFridge.Value);
		Unlockables.RegisterUnlockable(val48, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configStove.Value);
		Unlockables.RegisterUnlockable(val50, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCounter.Value);
		Unlockables.RegisterUnlockable(val52, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCabinet.Value);
		Unlockables.RegisterUnlockable(val56, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPan.Value);
		Unlockables.RegisterUnlockable(val54, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configChoppingBoard.Value);
		Unlockables.RegisterUnlockable(val58, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToaster.Value);
		Unlockables.RegisterUnlockable(val60, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPot.Value);
		Unlockables.RegisterUnlockable(val62, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configFlatScreen.Value);
		Unlockables.RegisterUnlockable(val64, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSBox.Value);
		Unlockables.RegisterUnlockable(val66, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configJoystick.Value);
		Unlockables.RegisterUnlockable(val72, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTrashCan.Value);
		Unlockables.RegisterUnlockable(val68, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToiletPaperStand.Value);
		Unlockables.RegisterUnlockable(val76, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSoap.Value);
		Unlockables.RegisterUnlockable(val74, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSink.Value);
		Unlockables.RegisterUnlockable(val70, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTowelRack.Value);
		Unlockables.RegisterUnlockable(val78, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configWashroomCubby.Value);
		Unlockables.RegisterUnlockable(val80, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configShower.Value);
		Unlockables.RegisterUnlockable(val82, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToilet.Value);
		Unlockables.RegisterUnlockable(val86, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPiano.Value);
		Unlockables.RegisterUnlockable(val84, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTVStand.Value);
		Unlockables.RegisterUnlockable(val88, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configLaptop.Value);
		Unlockables.RegisterUnlockable(val90, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicTable.Value);
		Unlockables.RegisterUnlockable(val92, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configGamingChair.Value);
		Unlockables.RegisterUnlockable(val94, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configTrafficCone.Value);
		Unlockables.RegisterUnlockable(val96, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configToothbrushHolder.Value);
		Unlockables.RegisterUnlockable(val98, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicItemShelf.Value);
		Unlockables.RegisterUnlockable(val100, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configEndTable.Value);
		Unlockables.RegisterUnlockable(val102, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicStandingLamp.Value);
		Unlockables.RegisterUnlockable(val104, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configVRHeadset.Value);
		Unlockables.RegisterUnlockable(val106, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDrawingTablet.Value);
		Unlockables.RegisterUnlockable(val108, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configRectangleRug.Value);
		Unlockables.RegisterUnlockable(val110, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configCircleRug.Value);
		Unlockables.RegisterUnlockable(val112, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configShowerMat.Value);
		Unlockables.RegisterUnlockable(val116, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDeskLamp.Value);
		Unlockables.RegisterUnlockable(val114, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configPlunger.Value);
		Unlockables.RegisterUnlockable(val118, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configHeadphones.Value);
		Unlockables.RegisterUnlockable(val120, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configSPhone.Value);
		Unlockables.RegisterUnlockable(val122, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configWasher.Value);
		Unlockables.RegisterUnlockable(val124, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configDryer.Value);
		Unlockables.RegisterUnlockable(val126, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configAxe.Value);
		Unlockables.RegisterUnlockable(val128, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicCeilingLight1.Value);
		Unlockables.RegisterUnlockable(val130, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicCeilingLight2.Value);
		Unlockables.RegisterUnlockable(val132, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicWallLight1.Value);
		Unlockables.RegisterUnlockable(val134, (StoreType)2, (TerminalNode)null, (TerminalNode)null, (TerminalNode)null, configBasicWallLight2.Value);
		string text4 = "WELCOME TO SMOOTHRESERVES DECOR!\nplease select a subcatagory\n_____________________________\n\n<Livingroom\n<srLivingRoom\n\n<Kitchen\n<srKitchen\n\n<Washroom\n<srWashroom\n\n<Lights\n<srLights\n\n<Posters\n<srPosters\n\n<Other\n<srOther\n\n<Imports\n<srImports\n_____________________________\n";
		string text5 = "\nWELCOME TO SMOOTHRESERVES OTHERS!\n_____________________________\n\nAxe - [" + configAxe.Value + "]\nProduct ID: 4X3S\n\nDivider Wall - [" + configDivider.Value + "]\nProduct ID: 2n9d\n\nTraffic Cone - [" + configTrafficCone.Value + "]\nProduct ID: 9s9f\n\nWashroom Cubby - [" + configWashroomCubby.Value + "]\nProduct ID: S5J7\nNOTE: The grab point for the cubby is above the door.\n";
		string text6 = "\nWELCOME TO SMOOTHRESERVES KITCHEN!\n_____________________________\n\nCabinet - [" + configCabinet.Value + "]\nProduct ID: 3U0x\n\nChopping Board - [" + configChoppingBoard.Value + "]\nProduct ID: e98c\n\nCounter - [" + configCounter.Value + "]\nProduct ID: 4a7m\n\nDrying Machine - [" + configDryer.Value + "]\nProduct ID: d4y1\n\nFridge - [" + configFridge.Value + "]\nProduct ID: g2a6\n\nPan - [" + configPan.Value + "]\nProduct ID: k3h6\n\nPot - [" + configPot.Value + "]\nProduct ID: 7j5c\n\nStove - [" + configStove.Value + "]\nProduct ID: 9h1m\n\nToaster - [" + configToaster.Value + "]\nProduct ID: f3mh\n\nWashing Machine - [" + configWasher.Value + "]\nProduct ID: w6s5\n";
		string text7 = "\nWELCOME TO SMOOTHRESERVES LIVING ROOMS!\n_____________________________\n\nBasic Item Shelf - [" + configBasicItemShelf.Value + "]\nProduct ID: z2z4\n\nBasic Table - [" + configBasicTable.Value + "]\nProduct ID: k5z1\n\nCircle Rug - [" + configCircleRug.Value + "]\nProduct ID: C1R6\n\nDrawing Tablet - [" + configDrawingTablet.Value + "]\nProduct ID: 0b0z\n\nEnd Table - [" + configEndTable.Value + "]\nProduct ID: u6r3\n\nFlat-Screen TV - [" + configFlatScreen.Value + "]\nProduct ID: l0z6\n\nGaming Chair - [" + configGamingChair.Value + "]\nProduct ID: u2o9\n\nHeadphones - [" + configHeadphones.Value + "]\nProduct ID: H3A6\n\nJoystick - [" + configJoystick.Value + "]\nProduct ID: 2l5k\n\nLaptop - [" + configLaptop.Value + "]\nProduct ID: t6t2\n\nMini Fridge - [" + configMiniFrige.Value + "]\nProduct ID: j2x8\n\nPiano - [" + configPiano.Value + "]\nProduct ID: a0p1\n\nRectangle Rug - [" + configRectangleRug.Value + "]\nProduct ID: R3C7\n\nSBox - [" + configSBox.Value + "]\nProduct ID: 8i4r\n\nSPhone - [" + configSPhone.Value + "]\nProduct ID: 5P0N\n\nSofa - [" + configSofa.Value + "]\nProduct ID: f6h1\n\nTV Stand - [" + configTVStand.Value + "]\nProduct ID: r7a2\n\nVR Headset - [" + configVRHeadset.Value + "]\nProduct ID: v3c8\n";
		string text8 = "\nWELCOME TO SMOOTHRESERVES WASHROOMS!\n_____________________________\n\nPlunger - [" + configPlunger.Value + "]\nProduct ID: P1U5\n\nShower - [" + configShower.Value + "]\nProduct ID: C4uk\n\nShower Mat - [" + configShowerMat.Value + "]\nProduct ID: 5H0W\n\nToilet - [" + configToilet.Value + "]\nProduct ID: F2K0\n\nToilet Paper Stand - [" + configToiletPaperStand.Value + "]\nProduct ID: z8OV\n\nToothbrush Holder - [" + configToothbrushHolder.Value + "]\nProduct ID: m8n4\n\nTowel Rack - [" + configTowelRack.Value + "]\nProduct ID: 5x1k\n\nTrash Can - [" + configTrashCan.Value + "]\nProduct ID: h3d0\n\nSink - [" + configSink.Value + "]\nProduct ID: X3f8\n\nSoap Bar - [" + configSoap.Value + "]\nProduct ID: g1v5\n";
		string text9 = "\nWELCOME TO SMOOTHRESERVES POSTERS!\n_____________________________\n\nArma 3 Poster - [" + configArma.Value + "]\nProduct ID: d4l6\n\nAttack On Titan Poster - [" + configAot.Value + "]\nProduct ID: 5n9d\n\nCSGO 2 Poster - [" + configCSGO2.Value + "]\nProduct ID: C5G0\n\nEyelessDog Poster - [" + configEyelessDog.Value + "]\nProduct ID: 3Y3L\n\nFootball Poster - [" + configFootball.Value + "]\nProduct ID: f0o7\n\nHappy Cat Poster - [" + configCat.Value + "]\nProduct ID: 4n9d\n\nHellDivers 2 Poster - [" + configHelldivers.Value + "]\nProduct ID: 8k3m\n\nKim Kitsuragi Poster - [" + configKim.Value + "]\nProduct ID: 6d3n\n\nMinecraft Poster - [" + configCraft.Value + "]\nProduct ID: 2o8c\n\nPersona 5 Poster - [" + configPersona.Value + "]\nProduct ID: p3r5\n\nResident Evil 2 Poster - [" + configRE2.Value + "]\nProduct ID: h3c7\n\nRisk of Rain 2 Poster - [" + configROR2.Value + "]\nProduct ID: b4u9\n\nTerraria Poster - [" + configTerraria.Value + "]\nProduct ID: T3R4\n\nTF2 Poster - [" + configTF2.Value + "]\nProduct ID: T72o\n\nZombies Poster - [" + configZombie.Value + "]\nProduct ID: c2z8\n\nZomboid Poster - [" + configZomboid.Value + "]\nProduct ID: Z0m6\n";
		string text10 = "\nWELCOME TO SMOOTHRESERVES LIGHTS!\n_____________________________\n\nBasic Ceiling Light 1 - [" + configBasicCeilingLight1.Value + "]\nProduct ID: C1L7\n\nBasic Ceiling Light 2 - [" + configBasicCeilingLight2.Value + "]\nProduct ID: C2L7\n\nBasic Wall Light 1 - [" + configBasicWallLight1.Value + "]\nProduct ID: W1L7\n\nBasic Wall Light 2 - [" + configBasicWallLight2.Value + "]\nProduct ID: W2L7\n\nStanding Lamp - [" + configBasicStandingLamp.Value + "]\nProduct ID: D4A9\n\nDesk Lamp - [" + configDeskLamp.Value + "]\nProduct ID: D3S8\n";
		TerminalApi.AddCommand("srFurniture", text4, "sr", true);
		TerminalApi.AddCommand("srLivingRoom", text7, "sr", true);
		TerminalApi.AddCommand("srKitchen", text6, "sr", true);
		TerminalApi.AddCommand("srWashRoom", text8, "sr", true);
		TerminalApi.AddCommand("srPosters", text9, "sr", true);
		TerminalApi.AddCommand("srOther", text5, "sr", true);
		TerminalApi.AddCommand("srImports", text3, "sr", true);
		TerminalApi.AddCommand("srLights", text10, "sr", true);
		harmony.PatchAll();
		((BaseUnityPlugin)this).Logger.LogMessage((object)"Loaded SmoothReserves decor!");
	}

	private void TerminalIsAwake(object sender, TerminalEventArgs e)
	{
		if (!stringPrinted)
		{
			((BaseUnityPlugin)this).Logger.LogMessage((object)"Terminal is awake");
			TerminalApi.NodeAppendLine("help", ">srFurniture\nTo access the furniture menu\n");
			stringPrinted = true;
		}
	}

	public static Mesh LoadMeshFromOBJ(string filePath)
	{
		//IL_03d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f3: Expected O, but got Unknown
		//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
		//IL_0129: 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_043c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0441: Unknown result type (might be due to invalid IL or missing references)
		//IL_04bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c2: Unknown result type (might be due to invalid IL or missing references)
		List<Vector3> list = new List<Vector3>();
		List<Vector3> list2 = new List<Vector3>();
		List<Vector2> list3 = new List<Vector2>();
		List<int> list4 = new List<int>();
		List<int> list5 = new List<int>();
		List<int> list6 = new List<int>();
		using (StreamReader streamReader = new StreamReader(filePath))
		{
			string text;
			while ((text = streamReader.ReadLine()) != null)
			{
				if (text.StartsWith("v "))
				{
					string[] array = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
					if (array.Length >= 4)
					{
						float num = float.Parse(array[1], CultureInfo.InvariantCulture);
						float num2 = float.Parse(array[2], CultureInfo.InvariantCulture);
						float num3 = float.Parse(array[3], CultureInfo.InvariantCulture);
						list.Add(new Vector3(num, num2, num3));
					}
				}
				else if (text.StartsWith("vn "))
				{
					string[] array2 = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
					if (array2.Length >= 4)
					{
						float num4 = float.Parse(array2[1], CultureInfo.InvariantCulture);
						float num5 = float.Parse(array2[2], CultureInfo.InvariantCulture);
						float num6 = float.Parse(array2[3], CultureInfo.InvariantCulture);
						list2.Add(new Vector3(num4, num5, num6));
					}
				}
				else if (text.StartsWith("vt "))
				{
					string[] array3 = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
					if (array3.Length >= 3)
					{
						float num7 = float.Parse(array3[1], CultureInfo.InvariantCulture);
						float num8 = float.Parse(array3[2], CultureInfo.InvariantCulture);
						list3.Add(new Vector2(num7, num8));
					}
				}
				else
				{
					if (!text.StartsWith("f "))
					{
						continue;
					}
					string[] array4 = text.Split(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
					if (array4.Length < 4)
					{
						continue;
					}
					int[] array5 = new int[array4.Length - 1];
					int[] array6 = new int[array4.Length - 1];
					int[] array7 = new int[array4.Length - 1];
					for (int i = 1; i < array4.Length; i++)
					{
						string[] array8 = array4[i].Split(new char[1] { '/' });
						int num9 = int.Parse(array8[0]) - 1;
						array5[i - 1] = num9;
						if (array8.Length > 1 && !string.IsNullOrEmpty(array8[1]))
						{
							int num10 = int.Parse(array8[1]) - 1;
							array6[i - 1] = num10;
						}
						if (array8.Length > 2 && !string.IsNullOrEmpty(array8[2]))
						{
							int num11 = int.Parse(array8[2]) - 1;
							array7[i - 1] = num11;
						}
					}
					for (int j = 1; j < array5.Length - 1; j++)
					{
						list4.Add(array5[0]);
						list4.Add(array5[j]);
						list4.Add(array5[j + 1]);
						if (array6[0] != -1 && array6[j] != -1 && array6[j + 1] != -1)
						{
							list5.Add(array6[0]);
							list5.Add(array6[j]);
							list5.Add(array6[j + 1]);
						}
						if (array7[0] != -1 && array7[j] != -1 && array7[j + 1] != -1)
						{
							list6.Add(array7[0]);
							list6.Add(array7[j]);
							list6.Add(array7[j + 1]);
						}
					}
				}
			}
		}
		Mesh val = new Mesh
		{
			vertices = list.ToArray(),
			triangles = list4.ToArray()
		};
		if (list2.Count > 0 && list6.Count == list4.Count)
		{
			Vector3[] array9 = (Vector3[])(object)new Vector3[list.Count];
			for (int k = 0; k < list4.Count; k++)
			{
				array9[list4[k]] = list2[list6[k]];
			}
			val.normals = array9;
		}
		else
		{
			val.RecalculateNormals();
		}
		if (list3.Count > 0 && list5.Count == list4.Count)
		{
			Vector2[] array10 = (Vector2[])(object)new Vector2[list.Count];
			for (int l = 0; l < list4.Count; l++)
			{
				array10[list4[l]] = list3[list5[l]];
			}
			val.uv = array10;
		}
		val.RecalculateBounds();
		return val;
	}
}