using System.Diagnostics;
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 UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("ShipHomeDecor")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ShipHomeDecor")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("ad7b2178-8fd3-46f1-ade0-65dd2786ff38")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace ShipHomeDecor;
public class Config
{
public static Config Instance;
public static ConfigEntry<int> sofaPrice;
public static ConfigEntry<int> gamerChairPrice;
public static void Load()
{
sofaPrice = Plugin.cfg.Bind<int>("Furniture", "SofaPrice", 250, "How much should the sofa cost?");
gamerChairPrice = Plugin.cfg.Bind<int>("Furniture", "GamerChairPrice", 150, "How much should the gamer chair cost?");
}
}
[BepInPlugin("calciumsalt.ShipHomeDecor", "Ship Home Decor", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
public static ConfigFile cfg;
private const string modGUID = "calciumsalt.ShipHomeDecor";
private const string modName = "Ship Home Decor";
private const string modVersion = "1.0.0";
private readonly Harmony harmony = new Harmony("calciumsalt.ShipHomeDecor");
private static Plugin Instance;
private void Awake()
{
cfg = ((BaseUnityPlugin)this).Config;
Config.Load();
if ((Object)(object)Instance == (Object)null)
{
Instance = this;
}
harmony.PatchAll(typeof(Plugin));
string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "couchmod");
AssetBundle val = AssetBundle.LoadFromFile(text);
UnlockablesList val2 = val.LoadAsset<UnlockablesList>("Assets/CouchDecor.asset");
UnlockableItem val3 = val2.unlockables[0];
UnlockableItem val4 = val2.unlockables[1];
TerminalNode val5 = val.LoadAsset<TerminalNode>("Assets/CouchTerminalNode.asset");
TerminalNode val6 = val.LoadAsset<TerminalNode>("Assets/GamerChairTerminalNode 1.asset");
Unlockables.RegisterUnlockable(val3, (StoreType)2, (TerminalNode)null, (TerminalNode)null, val5, Config.sofaPrice.Value);
Unlockables.RegisterUnlockable(val4, (StoreType)2, (TerminalNode)null, (TerminalNode)null, val6, Config.gamerChairPrice.Value);
NetworkPrefabs.RegisterNetworkPrefab(val3.prefabObject);
NetworkPrefabs.RegisterNetworkPrefab(val4.prefabObject);
Utilities.FixMixerGroups(val3.prefabObject);
Utilities.FixMixerGroups(val4.prefabObject);
}
}