Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of 2 Story RV Cruiser MelanieMelicious v0.2.5
MelanieRV.dll
Decompiled 10 months agousing System; 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 BepInEx.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; 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("2 sToRy sHiP")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("this one")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("3b42a851-dbf6-428d-a7f2-0af1d6039c22")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] [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; } } } internal class HarmonyPatches { [HarmonyPostfix] [HarmonyPatch(typeof(VehicleController), "Awake")] [HarmonyAfter(new string[] { "mborsh.CruiserTerminal", "4902.Cruiser_Additions" })] private static void AwakePostPatch(VehicleController __instance) { Setup.RVSetup(__instance); } [HarmonyPostfix] [HarmonyPatch(typeof(VehicleController), "Start")] [HarmonyAfter(new string[] { "mborsh.CruiserTerminal", "4902.Cruiser_Additions" })] private static void StartPostPatch(VehicleController __instance) { Setup.RVSetup(__instance); } } internal class Setup : MonoBehaviour { private static Transform rv; internal static void RVSetup(VehicleController RVControl) { //IL_109b: Unknown result type (might be due to invalid IL or missing references) //IL_10c4: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0386: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03df: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_043a: 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_0767: Unknown result type (might be due to invalid IL or missing references) //IL_0479: Unknown result type (might be due to invalid IL or missing references) //IL_04a2: Unknown result type (might be due to invalid IL or missing references) //IL_04cb: Unknown result type (might be due to invalid IL or missing references) //IL_04f4: Unknown result type (might be due to invalid IL or missing references) //IL_051d: Unknown result type (might be due to invalid IL or missing references) //IL_0546: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Unknown result type (might be due to invalid IL or missing references) //IL_0598: Unknown result type (might be due to invalid IL or missing references) //IL_05c1: Unknown result type (might be due to invalid IL or missing references) //IL_05ea: Unknown result type (might be due to invalid IL or missing references) //IL_0613: Unknown result type (might be due to invalid IL or missing references) //IL_063c: Unknown result type (might be due to invalid IL or missing references) //IL_067d: Unknown result type (might be due to invalid IL or missing references) //IL_06d3: Unknown result type (might be due to invalid IL or missing references) //IL_0719: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02db: 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_032d: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Unknown result type (might be due to invalid IL or missing references) //IL_089d: Unknown result type (might be due to invalid IL or missing references) //IL_08ba: Unknown result type (might be due to invalid IL or missing references) //IL_08d7: Unknown result type (might be due to invalid IL or missing references) //IL_08f5: Unknown result type (might be due to invalid IL or missing references) //IL_0912: Unknown result type (might be due to invalid IL or missing references) //IL_092f: Unknown result type (might be due to invalid IL or missing references) //IL_094c: Unknown result type (might be due to invalid IL or missing references) //IL_0969: Unknown result type (might be due to invalid IL or missing references) //IL_0987: Unknown result type (might be due to invalid IL or missing references) //IL_09a5: Unknown result type (might be due to invalid IL or missing references) //IL_09b7: Unknown result type (might be due to invalid IL or missing references) //IL_09c9: Unknown result type (might be due to invalid IL or missing references) //IL_0bfd: Unknown result type (might be due to invalid IL or missing references) //IL_0c2a: Unknown result type (might be due to invalid IL or missing references) //IL_0c53: Unknown result type (might be due to invalid IL or missing references) //IL_0c7c: Unknown result type (might be due to invalid IL or missing references) //IL_0ca5: Unknown result type (might be due to invalid IL or missing references) //IL_0cce: Unknown result type (might be due to invalid IL or missing references) //IL_0cf7: Unknown result type (might be due to invalid IL or missing references) //IL_0d20: Unknown result type (might be due to invalid IL or missing references) //IL_0d49: Unknown result type (might be due to invalid IL or missing references) //IL_0d72: Unknown result type (might be due to invalid IL or missing references) //IL_0da3: Unknown result type (might be due to invalid IL or missing references) //IL_0dcc: Unknown result type (might be due to invalid IL or missing references) //IL_0df5: Unknown result type (might be due to invalid IL or missing references) //IL_0e1e: Unknown result type (might be due to invalid IL or missing references) //IL_0e47: Unknown result type (might be due to invalid IL or missing references) //IL_0e70: Unknown result type (might be due to invalid IL or missing references) //IL_0e99: Unknown result type (might be due to invalid IL or missing references) //IL_0ec2: Unknown result type (might be due to invalid IL or missing references) //IL_0eeb: Unknown result type (might be due to invalid IL or missing references) //IL_0f14: Unknown result type (might be due to invalid IL or missing references) //IL_0f3e: Unknown result type (might be due to invalid IL or missing references) //IL_0f68: Unknown result type (might be due to invalid IL or missing references) //IL_0f92: Unknown result type (might be due to invalid IL or missing references) //IL_0fbc: Unknown result type (might be due to invalid IL or missing references) //IL_0fe6: Unknown result type (might be due to invalid IL or missing references) //IL_1010: Unknown result type (might be due to invalid IL or missing references) //IL_1042: Unknown result type (might be due to invalid IL or missing references) //IL_1070: Unknown result type (might be due to invalid IL or missing references) //IL_0826: Unknown result type (might be due to invalid IL or missing references) //IL_0835: Unknown result type (might be due to invalid IL or missing references) if (RVControl.vehicleID != 0) { return; } rv = ((Component)RVControl).transform; if (!Object.op_Implicit((Object)(object)rv.Find("Meshes/MainBody/MelanieRVFloor0(Clone)"))) { Material[] array = (Material[])(object)new Material[6] { Plugin.bundle.LoadAsset<Material>("Assets/MelanieRV/Material/ClosetFrame0.mat"), ((Renderer)((Component)rv.Find("Meshes/MainBody")).GetComponent<MeshRenderer>()).materials[1], ((Renderer)((Component)rv.Find("Meshes/MainBody")).GetComponent<MeshRenderer>()).materials[2], Plugin.bundle.LoadAsset<Material>("Assets/MelanieRV/Material/SteelGray.mat"), Plugin.bundle.LoadAsset<Material>("Assets/MelanieRV/Material/BlackRubber.mat"), Plugin.bundle.LoadAsset<Material>("Assets/MelanieRV/Material/Catwalk0.mat") }; BoxCollider[] components = ((Component)rv).GetComponents<BoxCollider>(); BoxCollider[] components2 = ((Component)rv.Find("Triggers/RightShelfPlacementCollider")).GetComponents<BoxCollider>(); GameObject val = Object.Instantiate<GameObject>(Plugin.bundle.LoadAsset<GameObject>("Assets/MelanieRV/Prefab/MelanieRVFloor0.prefab"), rv.Find("Meshes/MainBody")); ((Component)rv).GetComponent<Rigidbody>().mass = RVConfig.mass.Value; Color color = default(Color); ColorUtility.TryParseHtmlString(RVConfig.colorExt.Value, ref color); array[0].color = color; ColorUtility.TryParseHtmlString(RVConfig.colorInt.Value, ref color); array[3].color = color; ColorUtility.TryParseHtmlString(RVConfig.colorBorder.Value, ref color); array[4].color = color; ColorUtility.TryParseHtmlString(RVConfig.colorGlass.Value, ref color); array[2].color = color; if (RVConfig.floor2.Value) { GameObject val2 = Object.Instantiate<GameObject>(Plugin.bundle.LoadAsset<GameObject>("Assets/MelanieRV/Prefab/MelanieRVFloor1.prefab"), rv.Find("Meshes/MainBody/MelanieRVFloor0(Clone)")); BoxCollider[] components3 = ((Component)rv.Find("Meshes/MainBody/MelanieRVFloor0(Clone)/MelanieRVFloor1(Clone)/Clip")).GetComponents<BoxCollider>(); ((Renderer)val2.GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[3] { array[0], array[3], array[2] }; components[9].center = new Vector3(0f, 5.6f, -1.4f); BoxCollider[] array2 = components3; foreach (BoxCollider val3 in array2) { BoxCollider val4 = ((Component)rv).gameObject.AddComponent<BoxCollider>(); val4.center = val3.center; val4.size = val3.size; } Object.Destroy((Object)(object)((Component)components3[0]).gameObject); Move(new string[2] { "Triggers/BackPhysicsRegion", "Triggers/ItemDropRegion" }, new Vector3(0f, 2.6f, -2.8f)); Move(new string[1] { "VehicleBounds" }, new Vector3(0f, 2.6f, -2.5f)); Move(new string[1] { "Meshes/MainBody/MelanieRVFloor0(Clone)/Roof0" }, new Vector3(0f, 0f, 4f)); Size(new string[1] { "Triggers/BackPhysicsRegion" }, new Vector3(3.1f, 6f, 5.1f)); Size(new string[2] { "Triggers/ItemDropRegion", "VehicleBounds" }, new Vector3(3.3f, 8f, 7f)); } else { components[9].center = new Vector3(0f, 2.3f, -1.4f); Move(new string[2] { "Triggers/BackPhysicsRegion", "VehicleBounds" }, new Vector3(0f, 0.6f, -2.8f)); Move(new string[1] { "Triggers/ItemDropRegion" }, new Vector3(0f, 1f, -2.5f)); Size(new string[1] { "Triggers/BackPhysicsRegion" }, new Vector3(3.1f, 2.1f, 5.1f)); Size(new string[2] { "Triggers/ItemDropRegion", "VehicleBounds" }, new Vector3(3.3f, 4f, 7f)); } if (RVConfig.bigTire.Value) { Move(new string[1] { "Colliders/BackWheel" }, new Vector3(0f, -2f, -3f)); Move(new string[1] { "Colliders/CenterWheel" }, new Vector3(0.6f, -2f, -0.1f)); Move(new string[1] { "Colliders/CenterWheel (1)" }, new Vector3(-0.6f, -2f, -1.5f)); Move(new string[1] { "Colliders/FrontWheel" }, new Vector3(0.8f, -2f, 2.8f)); Move(new string[1] { "Colliders/FrontWheel (1)" }, new Vector3(0.1f, -2f, 4.6f)); Move(new string[1] { "Colliders/FrontWheel (2)" }, new Vector3(-0.6f, -2f, 1.6f)); Move(new string[1] { "Colliders/BackWheelColliders/BackLeftTireCollider" }, new Vector3(-3f, -0.6f, 0.5f)); Move(new string[1] { "Colliders/BackWheelColliders/BackRightTireCollider" }, new Vector3(3f, -0.6f, 0.5f)); Move(new string[1] { "Colliders/FrontWheelColliders/FrontLeftTireCollider" }, new Vector3(-3f, -0.6f, -0.6f)); Move(new string[1] { "Colliders/FrontWheelColliders/FrontRightTireCollider" }, new Vector3(3f, -0.6f, -0.6f)); Move(new string[1] { "Meshes/Wheels/FrontWheelAxisContainer" }, new Vector3(0f, 1f, 3.51f)); Move(new string[1] { "GiantCylinderMagnet/MagnetPoint" }, new Vector3(0f, 0f, -3f), dir: false); Size(new string[4] { "FrontWheelAxisContainer/FrontLeftTire", "FrontWheelAxisContainer/FrontRightTire", "BackWheelAxisContainer/BackLeftTire", "BackWheelAxisContainer/BackRightTire" }, new Vector3(3f, 2f, 2f), "Meshes/Wheels/"); Size(new string[6] { "BackWheel", "CenterWheel", "CenterWheel (1)", "FrontWheel", "FrontWheel (1)", "FrontWheel (2)" }, new Vector3(1f, 1.5f, 1f), "Colliders/"); Size(new string[4] { "BackWheelColliders/BackLeftTireCollider", "BackWheelColliders/BackRightTireCollider", "FrontWheelColliders/FrontLeftTireCollider", "FrontWheelColliders/FrontRightTireCollider" }, new Vector3(1f, 1.8f, 1f), "Colliders/"); } else { Object.Destroy((Object)(object)((Component)val.transform.Find("Detail1")).gameObject); Move(new string[1] { "GiantCylinderMagnet/MagnetPoint" }, new Vector3(0f, 0f, -2.3f), dir: false); } if (!RVConfig.lightCabin.Value) { try { ((Component)rv.Find("Meshes/FrontCabinLight/Spot Light (6)")).gameObject.SetActive(false); } catch { } } if (!RVConfig.trim.Value) { Object.Destroy((Object)(object)((Component)rv.Find("Meshes/MainBody/MelanieRVFloor0(Clone)/Detail2")).gameObject); } if (RVConfig.step0.Value) { BoxCollider[] components4 = ((Component)val.transform.Find("Clip")).GetComponents<BoxCollider>(); foreach (BoxCollider val5 in components4) { BoxCollider val6 = ((Component)rv).gameObject.AddComponent<BoxCollider>(); val6.center = val5.center; val6.size = val5.size; } } else { Object.Destroy((Object)(object)((Component)val.transform.Find("Step0")).gameObject); } components[2].center = new Vector3(0f, 1.3f, 0.8f); components[4].center = new Vector3(1.9f, 0.6f, -2.5f); components[5].center = new Vector3(-1.9f, 0.6f, -2.5f); components[6].center = new Vector3(0f, -0.9f, -2.6f); components2[1].center = new Vector3(1.1f, 1.16f, -2.4f); components[2].size = new Vector3(4f, 0.1f, 0.5f); components[4].size = new Vector3(0.2f, 3.6f, 6.1f); components[5].size = new Vector3(0.2f, 3.6f, 6.1f); components[6].size = new Vector3(3.7f, 0.8f, 6.2f); components[9].size = new Vector3(4f, 0.3f, 8.4f); components2[1].size = new Vector3(0.4f, 0.1f, 0.5f); val.transform.localPosition = Vector3.zero; val.transform.localEulerAngles = Vector3.zero; ((Component)rv.Find("Meshes/MainBody")).GetComponent<MeshFilter>().mesh = Plugin.bundle.LoadAsset<Mesh>("Assets/MelanieRV/Mesh/RV0Base0.mesh"); ((Component)rv.Find("Meshes/MainBody/MainBody (1)")).GetComponent<MeshFilter>().mesh = Plugin.bundle.LoadAsset<Mesh>("Assets/MelanieRV/Mesh/RV0Base0.mesh"); ((Component)rv.Find("Meshes/MainBody/MainBody (2)")).GetComponent<MeshFilter>().mesh = Plugin.bundle.LoadAsset<Mesh>("Assets/MelanieRV/Mesh/RV0Base0.mesh"); ((Renderer)((Component)rv.Find("Meshes/MainBody")).GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[5] { array[0], array[1], array[2], array[3], array[4] }; ((Renderer)((Component)rv.Find("Meshes/MainBody/MainBody (1)")).GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[5] { array[0], array[1], array[2], array[3], array[4] }; ((Renderer)((Component)rv.Find("Meshes/MainBody/MainBody (2)")).GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[5] { array[0], array[1], array[2], array[3], array[4] }; ((Renderer)((Component)rv.Find("Meshes/CarHoodContainer/CarHoodMesh")).GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[1] { array[0] }; ((Renderer)((Component)rv.Find("Meshes/DoorLeftContainer/Door")).GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[1] { array[0] }; ((Renderer)((Component)rv.Find("Meshes/DoorRightContainer/Door")).GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[1] { array[0] }; ((Renderer)((Component)rv.Find("Meshes/MainBody/MelanieRVFloor0(Clone)/Detail0")).GetComponent<MeshRenderer>()).materials = (Material[])(object)new Material[3] { array[3], array[4], array[5] }; ((Component)rv.Find("Meshes/InteractionBlockers/Cube")).gameObject.SetActive(false); Object.Destroy((Object)(object)((Component)val.transform.Find("Clip")).gameObject); Create("DriverSeat", "PassengerSeat", new Vector3(0.3f, -2.1f, 0.8f), "Meshes/DriverSeatContainer/Seat/"); Move(new string[1] { "Colliders/BackWheelColliders" }, new Vector3(0f, -1.5f, -4f)); Move(new string[1] { "Meshes/BackLight" }, new Vector3(0f, -2.2f, -1.88f)); Move(new string[1] { "Meshes/BackDoorContainer" }, new Vector3(-0.05f, -0.4f, -6.6f)); Move(new string[1] { "Meshes/Wheels/BackWheelAxisContainer" }, new Vector3(0f, 1f, -3.98f)); Move(new string[1] { "Meshes/Cube" }, new Vector3(0f, -2f, -1f)); Move(new string[1] { "NavSurface" }, new Vector3(0f, -0.7f, -2.5f)); Move(new string[1] { "Triggers/LeftShelfPlacementCollider" }, new Vector3(-0.5f, 0f, -6f)); Move(new string[1] { "Triggers/RightShelfPlacementCollider" }, new Vector3(0.5f, 0f, 1.4f)); Move(new string[1] { "PushTrigger" }, new Vector3(2.3f, 0.7f, -1.7f)); Move(new string[2] { "ExhaustSmoke", "TurboBoost" }, new Vector3(1.5f, -1.4f, -5.6f)); Move(new string[1] { "InsideTruckNavBounds" }, new Vector3(0f, -0.5f, -2.6f)); Move(new string[1] { "ExitPoints/DriverSide/DriverExit1" }, new Vector3(-0.9f, 0.5f, 1.4f)); Move(new string[1] { "ExitPoints/PassengerSide/PassengerExit1" }, new Vector3(0.9f, 0.5f, 1.4f)); Move(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (7)" }, new Vector3(0f, -0.6f, -2.7f), dir: false); Move(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (8)" }, new Vector3(0f, 2.3f, -1.5f), dir: false); Move(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (9)" }, new Vector3(2f, 0.6f, -2.4f), dir: false); Move(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (10)" }, new Vector3(0f, 0f, 0.6f), dir: false); Move(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (11)" }, new Vector3(-2f, 0.6f, -2.4f), dir: false); Size(new string[1] { "Meshes/Cube" }, new Vector3(4f, 1.3f, 11.5f)); Size(new string[1] { "NavSurface" }, new Vector3(4f, 0.3f, 6.5f)); Size(new string[1] { "Triggers/RightShelfPlacementCollider" }, new Vector3(1f, 1f, 2.2f)); Size(new string[1] { "PushTrigger" }, new Vector3(0.09f, 3.3f, 4.4f)); Size(new string[1] { "InsideTruckNavBounds" }, new Vector3(2.7f, 0.4f, 6.3f)); Size(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (7)" }, new Vector3(4f, 0.2f, 6.7f), null, dir: false); Size(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (8)" }, new Vector3(4f, 0.2f, 8f), null, dir: false); Size(new string[2] { "Cube (9)", "Cube (11)" }, new Vector3(0.1f, 3.6f, 6f), "VehiclesContainer/PhysicsColliders/", dir: false); Size(new string[1] { "VehiclesContainer/PhysicsColliders/Cube (10)" }, new Vector3(4f, 2.5f, 0.1f), null, dir: false); } Move(new string[1] { "terminalPosition" }, new Vector3(1.7f, 0.9f, -4.8f)); Move(new string[1] { "Triggers/cruiser_light_switch(Clone)" }, new Vector3(-1.7f, 0.9f, -3.5f)); } private static void Move(string[] obj, Vector3 pos, bool dir = true) { //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) try { if (dir) { foreach (string text in obj) { rv.Find(text).localPosition = pos; } } else { foreach (string text2 in obj) { GameObject.Find(text2).transform.localPosition = pos; } } } catch { foreach (string text3 in obj) { Plugin.mls.LogError((object)("Failed to move " + text3 + ".")); } } } private static void Size(string[] obj, Vector3 scale, string path = null, bool dir = true) { //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) try { if (dir) { foreach (string text in obj) { rv.Find(path + text).localScale = scale; } } else { foreach (string text2 in obj) { GameObject.Find(path + text2).transform.localScale = scale; } } } catch { foreach (string text3 in obj) { Plugin.mls.LogError((object)("Failed to scale " + text3 + ".")); } } } private static void Create(string obj, string name, Vector3 pos, string path) { //IL_004c: Unknown result type (might be due to invalid IL or missing references) try { GameObject val = Object.Instantiate<GameObject>(((Component)rv.Find(path + obj)).gameObject, rv.Find(path + obj).parent); ((Object)val).name = name; Move(new string[1] { path + name }, pos); } catch { Plugin.mls.LogError((object)("Failed to create " + name + " from " + obj + ".")); } } } [BepInPlugin("MelanieMelicious.CrusierRV", "Melanie Melicious - Cruiser RV", "0.2.5")] public class Plugin : BaseUnityPlugin { private const string GUID = "MelanieMelicious.CrusierRV"; private const string NAME = "Melanie Melicious - Cruiser RV"; private const string VERSION = "0.2.5"; private readonly Harmony harmony = new Harmony("MelanieMelicious.CrusierRV"); public static ManualLogSource mls; public static AssetBundle bundle; private static Plugin instance; private void Awake() { instance = this; RVConfig.SetupConfig(((BaseUnityPlugin)this).Config); mls = Logger.CreateLogSource("Melanie Cruiser RV"); mls = ((BaseUnityPlugin)this).Logger; harmony.PatchAll(typeof(HarmonyPatches)); string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "melanierv"); bundle = AssetBundle.LoadFromFile(text); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Cruiser RV loading wowow"); } } internal static class RVConfig { internal static ConfigEntry<bool> floor2; internal static ConfigEntry<bool> bigTire; internal static ConfigEntry<bool> lightCabin; internal static ConfigEntry<bool> trim; internal static ConfigEntry<bool> step0; internal static ConfigEntry<string> colorExt; internal static ConfigEntry<string> colorInt; internal static ConfigEntry<string> colorBorder; internal static ConfigEntry<string> colorGlass; internal static ConfigEntry<int> mass; internal static void SetupConfig(ConfigFile config) { floor2 = config.Bind<bool>("RV Setup", "Enable Second Floor", true, "Toggles the addition of a second RV floor! (crazy)"); bigTire = config.Bind<bool>("RV Setup", "Enable Monster Truck Tires", false, "Toggles big giant tires and raised suspension."); lightCabin = config.Bind<bool>("RV Setup", "Enable Front Inside Light", false, "Toggles the interior cabin light (makes it harder to see during night, if enabled)."); trim = config.Bind<bool>("RV Setup", "Enable Extra Bottom Trim", false, "Toggles extra bottom trimming detail for 'bulk' appearance."); step0 = config.Bind<bool>("RV Setup", "Enable Back Steps", false, "Toggles steps at the back of the cruiser."); colorExt = config.Bind<string>("RV Setup", "RV Exterior Color", "#FFFFFF", "Customize RV exterior colors. Client-sided."); colorInt = config.Bind<string>("RV Setup", "RV Interior Color", "#C8BDB8", "Customize RV interior colors. Client-sided."); colorBorder = config.Bind<string>("RV Setup", "RV Border Color", "#000000", "Customize RV border colors. Client-sided."); colorGlass = config.Bind<string>("RV Setup", "RV Glass Color", "#9EBFE7", "Customize RV glass colors. Client-sided."); mass = config.Bind<int>("RV Setup", "RV Mass", 200, "Customize RV mass."); } }