From 704c87c8f495436276fd60ca5a41f4cae992f604 Mon Sep 17 00:00:00 2001 From: Katy Fox Date: Thu, 6 Feb 2025 16:32:45 -0500 Subject: [PATCH] fix coupler issues --- SkinManagerMod/Patches/CarPatches.cs | 6 ++---- SkinManagerMod/SkinManager.cs | 2 ++ SkinManagerMod/SkinProvider.cs | 3 --- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/SkinManagerMod/Patches/CarPatches.cs b/SkinManagerMod/Patches/CarPatches.cs index f161e5f..7ff6e1b 100644 --- a/SkinManagerMod/Patches/CarPatches.cs +++ b/SkinManagerMod/Patches/CarPatches.cs @@ -21,12 +21,11 @@ private static void BaseSpawn(TrainCar __result, bool uniqueCar) { if (!__result.PaintExterior) { - __result.gameObject.SetActive(false); - var paintExt = __result.gameObject.AddComponent(); paintExt.sets = Array.Empty(); paintExt.targetArea = TrainCarPaint.Target.Exterior; paintExt.currentTheme = SkinProvider.CustomDefaultTheme; + paintExt.OriginallyAssignedTheme = SkinProvider.CustomDefaultTheme; __result.PaintExterior = paintExt; if (__result.carLivery.interiorPrefab) @@ -35,10 +34,9 @@ private static void BaseSpawn(TrainCar __result, bool uniqueCar) paintInt.sets = Array.Empty(); paintInt.targetArea = TrainCarPaint.Target.Interior; paintInt.currentTheme = SkinProvider.CustomDefaultTheme; + paintInt.OriginallyAssignedTheme = SkinProvider.CustomDefaultTheme; __result.PaintInterior = paintInt; } - - __result.gameObject.SetActive(true); } if (!uniqueCar) diff --git a/SkinManagerMod/SkinManager.cs b/SkinManagerMod/SkinManager.cs index e8a2f10..899c5e1 100644 --- a/SkinManagerMod/SkinManager.cs +++ b/SkinManagerMod/SkinManager.cs @@ -72,6 +72,8 @@ public static (string? exterior, string? interior) GetCurrentCarSkin(TrainCar ca /// Save the specified skin to the given car public static void SetAppliedCarSkin(TrainCar car, string skinName, PaintArea area) { + if (car.logicCar is null) return; + Main.LogVerbose($"Setting saved skin for car {car.ID} {area} to \"{skinName}\""); if (area.HasFlag(PaintArea.Exterior)) diff --git a/SkinManagerMod/SkinProvider.cs b/SkinManagerMod/SkinProvider.cs index 6002991..22b6424 100644 --- a/SkinManagerMod/SkinProvider.cs +++ b/SkinManagerMod/SkinProvider.cs @@ -788,9 +788,6 @@ internal static void BeginLoadSkin(SkinConfig config, bool forceSync = false) } theme.AddSkin(skin); - - //skin.LoadingFinished += AddSkinTexturesToTheme; - //skin.StartLoadFinishedListener(); } private static SkinTexture BeginLoadTexture(string fileName, ResourceConfigJson config, string texturePath, bool linear, bool forceSync)