From 7552422b6e9cf03ee10c49cf1b0014317dfd6cfa Mon Sep 17 00:00:00 2001 From: Ryan Mroczenski Date: Sat, 22 Feb 2025 23:43:00 -0600 Subject: [PATCH] disabling context menu dividers and expanding the context menu radius to 200f to help spread things out. --- Assembly.version | 2 +- ...CarPickable_HandleShowContextMenu_Patch.cs | 8 ++++---- ...troller_AnnounceCoalescedPayments_Patch.cs | 10 ++++++---- .../Patches/TagController_UpdateTag_Patch.cs | 2 +- .../Patches/WedgeImage_OnPopulateMesh.cs | 20 +++++++++++++++++++ 5 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 TweaksAndThings/Patches/WedgeImage_OnPopulateMesh.cs diff --git a/Assembly.version b/Assembly.version index e57fa04..1e37924 100644 --- a/Assembly.version +++ b/Assembly.version @@ -2,6 +2,6 @@ 1 2 - 2 + 3 \ No newline at end of file diff --git a/TweaksAndThings/Patches/CarPickable_HandleShowContextMenu_Patch.cs b/TweaksAndThings/Patches/CarPickable_HandleShowContextMenu_Patch.cs index 69eee66..7a89fa8 100644 --- a/TweaksAndThings/Patches/CarPickable_HandleShowContextMenu_Patch.cs +++ b/TweaksAndThings/Patches/CarPickable_HandleShowContextMenu_Patch.cs @@ -22,20 +22,20 @@ internal class CarPickable_HandleShowContextMenu_Patch bool buttonsHaveCost = tweaksAndThings.EndGearHelpersRequirePayment(); ContextMenu shared = ContextMenu.Shared; - shared.AddButton(ContextMenuQuadrant.Unused2, $"{(car.EnumerateCoupled().Any(c => c.HandbrakeApplied()) ? "Release " : "Set ")} Consist", SpriteName.Handbrake, delegate + shared.AddButton(ContextMenuQuadrant.Unused1, $"{(car.EnumerateCoupled().Any(c => c.HandbrakeApplied()) ? "Release " : "Set ")} Consist", SpriteName.Handbrake, delegate { CarInspector_PopulateCarPanel_Patch.MrocConsistHelper(car, MrocHelperType.Handbrake, buttonsHaveCost); }); if (car.EnumerateCoupled().Any(c => c.EndAirSystemIssue())) { - shared.AddButton(ContextMenuQuadrant.Unused2, $"Air Up Consist", SpriteName.Select, delegate + shared.AddButton(ContextMenuQuadrant.Unused1, $"Air Up Consist", SpriteName.Select, delegate { CarInspector_PopulateCarPanel_Patch.MrocConsistHelper(car, MrocHelperType.GladhandAndAnglecock, buttonsHaveCost); }); } - if (car.EnumerateCoupled().Any(c => c.SupportsBleed())) + if (!car.EnumerateCoupled().Any(c => !c.SupportsBleed())) { shared.AddButton(ContextMenuQuadrant.Unused2, $"Bleed Consist", SpriteName.Bleed, delegate { @@ -47,7 +47,7 @@ internal class CarPickable_HandleShowContextMenu_Patch { CameraSelector.shared.FollowCar(car); }); - + shared.radius = 200f; shared.BuildItemAngles(); shared.StartCoroutine(shared.AnimateButtonsShown()); } diff --git a/TweaksAndThings/Patches/OpsController_AnnounceCoalescedPayments_Patch.cs b/TweaksAndThings/Patches/OpsController_AnnounceCoalescedPayments_Patch.cs index 1784d61..e35bca4 100644 --- a/TweaksAndThings/Patches/OpsController_AnnounceCoalescedPayments_Patch.cs +++ b/TweaksAndThings/Patches/OpsController_AnnounceCoalescedPayments_Patch.cs @@ -50,7 +50,8 @@ internal class CarPrototypeLibrary_LoadForId_Patch [HarmonyPatchCategory("RMROC451TweaksAndThings")] internal class OpsController_AnnounceCoalescedPayments_Patch { - static Dictionary CrewCarDict = []; + static Dictionary CrewCarDict = new(); + public static (bool spotted, bool filling) CrewCarStatus(Car car) { bool found = CrewCarDict.TryGetValue(car.id, out (bool spotted, bool filling) val); @@ -61,12 +62,13 @@ internal class OpsController_AnnounceCoalescedPayments_Patch } static GameDateTime dateTime = TimeWeather.Now; - static readonly IEnumerable refillLocations = [ + static readonly IEnumerable refillLocations = + new List() { typeof(PassengerStop), typeof(SimplePassengerStop), typeof(TeamTrack), typeof(RepairTrack) - ]; + }; public static Load CrewHoursLoad() { @@ -116,7 +118,7 @@ internal class OpsController_AnnounceCoalescedPayments_Patch //Log.Information($"{nameof(OpsController_AnnounceCoalescedPayments_Patch)} => Caboose Helper => PassengerStops => {string.Join(",", passengerStops)}"); var cabeese = passengerStops - .SelectMany(t => t.TrackSpans?.Select(s => (tc.CarsOnSpan(s) ?? []).Where(c => c.IsCaboose()))?.SelectMany(c => c?.Select(c2 => (t, c2)))); + .SelectMany(t => t.TrackSpans?.Select(s => (tc.CarsOnSpan(s) ?? Enumerable.Empty()).Where(c => c.IsCaboose()))?.SelectMany(c => c?.Select(c2 => (t, c2)))); //Log.Information($"{nameof(OpsController_AnnounceCoalescedPayments_Patch)} => Caboose Helper => PassengerStops Cabeese => {string.Join(",", cabeese?.Select(c => $"{c.t} : {c.c2}") ?? [])}"); CrewCarDict = CrewCarDict.Where(kvp => cabeese.Select(c => c.c2.id).Contains(kvp.Key)).ToDictionary(k => k.Key, v => v.Value); diff --git a/TweaksAndThings/Patches/TagController_UpdateTag_Patch.cs b/TweaksAndThings/Patches/TagController_UpdateTag_Patch.cs index 09d4e40..9e9ca89 100644 --- a/TweaksAndThings/Patches/TagController_UpdateTag_Patch.cs +++ b/TweaksAndThings/Patches/TagController_UpdateTag_Patch.cs @@ -34,7 +34,7 @@ internal class TagController_UpdateTag_Patch private static void ProceedWithPostFix(Car car, TagCallout tagCallout) { tagCallout.callout.Title = string.Format(tagTitleFormat, "{0}", car.DisplayName); - List tags = []; + List tags = new(); if (OpsController_AnnounceCoalescedPayments_Patch.CrewCarStatus(car).spotted) tags.Add("+"); if (car.HasHotbox) tags.Add(TextSprites.Hotbox); diff --git a/TweaksAndThings/Patches/WedgeImage_OnPopulateMesh.cs b/TweaksAndThings/Patches/WedgeImage_OnPopulateMesh.cs new file mode 100644 index 0000000..c9904c3 --- /dev/null +++ b/TweaksAndThings/Patches/WedgeImage_OnPopulateMesh.cs @@ -0,0 +1,20 @@ +using HarmonyLib; +using Railloader; +using UI.ContextMenu; +using UnityEngine.UI; + +namespace RMROC451.TweaksAndThings.Patches; + +[HarmonyPatch(typeof(WedgeImage))] +[HarmonyPatch(nameof(WedgeImage.OnPopulateMesh), typeof(VertexHelper))] +[HarmonyPatchCategory("RMROC451TweaksAndThings")] +internal class WedgeImage_OnPopulateMesh_Patch +{ + private static void Postfix(VertexHelper vh) + { + TweaksAndThingsPlugin tweaksAndThings = SingletonPluginBase.Shared; + if (!tweaksAndThings.IsEnabled) return; + + vh.Clear(); //clear the image backgrounds for now. + } +}