using 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_1089: Unknown result type (might be due to invalid IL or missing references)
//IL_10b2: 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_014a: Unknown result type (might be due to invalid IL or missing references)
//IL_0167: Unknown result type (might be due to invalid IL or missing references)
//IL_0184: Unknown result type (might be due to invalid IL or missing references)
//IL_0376: Unknown result type (might be due to invalid IL or missing references)
//IL_03a6: Unknown result type (might be due to invalid IL or missing references)
//IL_03cf: Unknown result type (might be due to invalid IL or missing references)
//IL_03f8: Unknown result type (might be due to invalid IL or missing references)
//IL_042a: 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_0757: Unknown result type (might be due to invalid IL or missing references)
//IL_0469: Unknown result type (might be due to invalid IL or missing references)
//IL_0492: Unknown result type (might be due to invalid IL or missing references)
//IL_04bb: Unknown result type (might be due to invalid IL or missing references)
//IL_04e4: Unknown result type (might be due to invalid IL or missing references)
//IL_050d: Unknown result type (might be due to invalid IL or missing references)
//IL_0536: 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_0588: Unknown result type (might be due to invalid IL or missing references)
//IL_05b1: Unknown result type (might be due to invalid IL or missing references)
//IL_05da: Unknown result type (might be due to invalid IL or missing references)
//IL_0603: Unknown result type (might be due to invalid IL or missing references)
//IL_062c: Unknown result type (might be due to invalid IL or missing references)
//IL_066d: Unknown result type (might be due to invalid IL or missing references)
//IL_06c3: Unknown result type (might be due to invalid IL or missing references)
//IL_0709: 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_0254: Unknown result type (might be due to invalid IL or missing references)
//IL_02a2: Unknown result type (might be due to invalid IL or missing references)
//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
//IL_02f4: Unknown result type (might be due to invalid IL or missing references)
//IL_031d: Unknown result type (might be due to invalid IL or missing references)
//IL_034f: Unknown result type (might be due to invalid IL or missing references)
//IL_0870: Unknown result type (might be due to invalid IL or missing references)
//IL_088d: Unknown result type (might be due to invalid IL or missing references)
//IL_08aa: Unknown result type (might be due to invalid IL or missing references)
//IL_08c7: Unknown result type (might be due to invalid IL or missing references)
//IL_08e4: Unknown result type (might be due to invalid IL or missing references)
//IL_0901: Unknown result type (might be due to invalid IL or missing references)
//IL_091e: Unknown result type (might be due to invalid IL or missing references)
//IL_093b: Unknown result type (might be due to invalid IL or missing references)
//IL_0958: Unknown result type (might be due to invalid IL or missing references)
//IL_0976: Unknown result type (might be due to invalid IL or missing references)
//IL_0993: 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_0beb: Unknown result type (might be due to invalid IL or missing references)
//IL_0c18: Unknown result type (might be due to invalid IL or missing references)
//IL_0c41: Unknown result type (might be due to invalid IL or missing references)
//IL_0c6a: Unknown result type (might be due to invalid IL or missing references)
//IL_0c93: Unknown result type (might be due to invalid IL or missing references)
//IL_0cbc: Unknown result type (might be due to invalid IL or missing references)
//IL_0ce5: Unknown result type (might be due to invalid IL or missing references)
//IL_0d0e: Unknown result type (might be due to invalid IL or missing references)
//IL_0d37: Unknown result type (might be due to invalid IL or missing references)
//IL_0d60: Unknown result type (might be due to invalid IL or missing references)
//IL_0d91: Unknown result type (might be due to invalid IL or missing references)
//IL_0dba: Unknown result type (might be due to invalid IL or missing references)
//IL_0de3: Unknown result type (might be due to invalid IL or missing references)
//IL_0e0c: Unknown result type (might be due to invalid IL or missing references)
//IL_0e35: Unknown result type (might be due to invalid IL or missing references)
//IL_0e5e: Unknown result type (might be due to invalid IL or missing references)
//IL_0e87: Unknown result type (might be due to invalid IL or missing references)
//IL_0eb0: Unknown result type (might be due to invalid IL or missing references)
//IL_0ed9: Unknown result type (might be due to invalid IL or missing references)
//IL_0f02: Unknown result type (might be due to invalid IL or missing references)
//IL_0f2c: Unknown result type (might be due to invalid IL or missing references)
//IL_0f56: Unknown result type (might be due to invalid IL or missing references)
//IL_0f80: Unknown result type (might be due to invalid IL or missing references)
//IL_0faa: Unknown result type (might be due to invalid IL or missing references)
//IL_0fd4: Unknown result type (might be due to invalid IL or missing references)
//IL_0ffe: Unknown result type (might be due to invalid IL or missing references)
//IL_1030: Unknown result type (might be due to invalid IL or missing references)
//IL_105e: Unknown result type (might be due to invalid IL or missing references)
//IL_0816: Unknown result type (might be due to invalid IL or missing references)
//IL_0825: Unknown result type (might be due to invalid IL or missing references)
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)GameObject.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"),
((Renderer)GameObject.Find("Environment/HangarShip/CatwalkShip").GetComponent<MeshRenderer>()).materials[0]
};
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.2")]
public class Plugin : BaseUnityPlugin
{
private const string GUID = "MelanieMelicious.CrusierRV";
private const string NAME = "Melanie Melicious - Cruiser RV";
private const string VERSION = "0.2.2";
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.");
}
}