From 8eed47fbc8fe6c51913068a1ddd6b5c17484764e Mon Sep 17 00:00:00 2001 From: Katy Fox Date: Tue, 4 Feb 2025 21:48:35 -0500 Subject: [PATCH] remove unnecessary LMS patch --- SkinManagerMod/Main.cs | 1 - SkinManagerMod/Patches/CarPatches.cs | 5 +- .../Patches/LocoMeshSplitterPatches.cs | 50 ------------------- 3 files changed, 4 insertions(+), 52 deletions(-) delete mode 100644 SkinManagerMod/Patches/LocoMeshSplitterPatches.cs diff --git a/SkinManagerMod/Main.cs b/SkinManagerMod/Main.cs index 7083dfa..da87f5a 100644 --- a/SkinManagerMod/Main.cs +++ b/SkinManagerMod/Main.cs @@ -52,7 +52,6 @@ public static bool Load(UnityModManager.ModEntry modEntry) UnloadWatcher.UnloadRequested += PaintFactory.DestroyInjectedShopData; - LocoMeshSplitterPatches.Initialize(); Harmony = new Harmony(Constants.MOD_ID); Harmony.PatchAll(Assembly.GetExecutingAssembly()); diff --git a/SkinManagerMod/Patches/CarPatches.cs b/SkinManagerMod/Patches/CarPatches.cs index 9464b33..f161e5f 100644 --- a/SkinManagerMod/Patches/CarPatches.cs +++ b/SkinManagerMod/Patches/CarPatches.cs @@ -1,5 +1,6 @@ using DV.Customization.Paint; using HarmonyLib; +using System; using System.Collections.Generic; using System.Reflection; using UnityEngine; @@ -23,6 +24,7 @@ private static void BaseSpawn(TrainCar __result, bool uniqueCar) __result.gameObject.SetActive(false); var paintExt = __result.gameObject.AddComponent(); + paintExt.sets = Array.Empty(); paintExt.targetArea = TrainCarPaint.Target.Exterior; paintExt.currentTheme = SkinProvider.CustomDefaultTheme; __result.PaintExterior = paintExt; @@ -30,6 +32,7 @@ private static void BaseSpawn(TrainCar __result, bool uniqueCar) if (__result.carLivery.interiorPrefab) { var paintInt = __result.gameObject.AddComponent(); + paintInt.sets = Array.Empty(); paintInt.targetArea = TrainCarPaint.Target.Interior; paintInt.currentTheme = SkinProvider.CustomDefaultTheme; __result.PaintInterior = paintInt; @@ -66,7 +69,7 @@ public static void BeforeInitializePaint(GameObject obj) foreach (var paint in obj.GetComponents()) { - Object.Destroy(paint); + UnityEngine.Object.Destroy(paint); } } diff --git a/SkinManagerMod/Patches/LocoMeshSplitterPatches.cs b/SkinManagerMod/Patches/LocoMeshSplitterPatches.cs deleted file mode 100644 index a1a7ae4..0000000 --- a/SkinManagerMod/Patches/LocoMeshSplitterPatches.cs +++ /dev/null @@ -1,50 +0,0 @@ -using HarmonyLib; -using System; -using System.Collections.Generic; -using System.Reflection; -using static UnityModManagerNet.UnityModManager; - -namespace SkinManagerMod.Patches -{ - internal static class LocoMeshSplitterPatches - { - private const string LMS_ModID = "LocoMeshSplitter"; - - public static void Initialize() - { - if ((FindMod(LMS_ModID) is ModEntry lms) && lms.Active) - { - DoPatching(); - } - else - { - toggleModsListen += OnModToggle; - } - } - - public static void OnModToggle(ModEntry modEntry, bool enabled) - { - if (!enabled || (modEntry?.Info.Id != LMS_ModID)) return; - - DoPatching(); - } - - private static void DoPatching() - { - Type _paintSetupClass = AccessTools.TypeByName("LocoMeshSplitter.MeshLoaders.TrainCarPaintSetup"); - - var methods = _paintSetupClass.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); - - foreach (var target in methods) - { - Main.Log($"Patch {_paintSetupClass.FullName}.{target.Name}"); - Main.Harmony.Patch(target, new HarmonyMethod(typeof(LocoMeshSplitterPatches), nameof(SkipMethod))); - } - } - - public static bool SkipMethod() - { - return false; - } - } -}