From 07fa688f411ba53053b5fd15bfc8c85722203421 Mon Sep 17 00:00:00 2001 From: VinaLx Date: Wed, 1 Sep 2021 19:02:49 +0800 Subject: [PATCH] Add a bunch of tooltips --- Assemblies/ResearchTree.dll | Bin 109056 -> 110592 bytes Languages/English/Keyed/KeyedTranslations.xml | 17 +++-- Source/Graph/ResearchNode.cs | 58 +++++++++++++++--- Source/ResourceBank.cs | 20 +++++- Source/Settings.cs | 4 ++ 5 files changed, 82 insertions(+), 17 deletions(-) diff --git a/Assemblies/ResearchTree.dll b/Assemblies/ResearchTree.dll index a2ad16765f1fcd4f00135a836d72cd3ddea0e084..0f30a32b766986dff756a946a7b3ac8d92b2edb7 100644 GIT binary patch delta 51862 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 a$Nm}|sn_p-JEHLEBlV`&;0LJe>H9xz)elJk delta 50576 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 z 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 hj;@KZ3uR5p>#xE(k7)Unlock {0} Other prerequisites: {0} - Left-Click to replace queue - Left-Click to remove from queue - Shift-Left-Click to append to queue - Alt-Left-Click to prepend to queue - (DEBUG) Ctrl-Left-Click to instantly complete + Left-click to replace queue. + Left-click to remove from queue. + Shift + Left-click to append to queue. + Alt + Left-click to prepend to queue. + (DEBUG) Ctrl + Left-click to instantly complete. + Right-click for continuous highlight. + Right-click item icon (or dots icon) to show detail information. + Drag to interact with research queue. + Press shift to display shortcut manual. + Tech Level: Requires Leads to none + Because your faction tech level is too low ({0}), research cost is multiplied by {1} (from {2}). Already queued node Missing {0} @@ -64,6 +70,7 @@ Fix an old bug of the original ResearchPal that ignores hidden prereqisites. You should always turn this option on for a more balanced gameplay. Being able to turning off this option is for existing save game strategy compatibility. (restart the game to apply) Research settings changed, restart RimWorld to apply the change. + Disable Shortcut Manual Scrolling Speed Multiplier Control horizontal and vertical scrolling speed of the main research tree diff --git a/Source/Graph/ResearchNode.cs b/Source/Graph/ResearchNode.cs index d861f5c..2145e86 100644 --- a/Source/Graph/ResearchNode.cs +++ b/Source/Graph/ResearchNode.cs @@ -337,10 +337,16 @@ private void HandleTooltips() { return; } Text.WordWrap = true; + + + if (!Settings.disableShortcutManual) { + TooltipHandler.TipRegion(Rect, ShortcutManualTooltip, Research.GetHashCode() + 2); + } // attach description and further info to a tooltip if (!TechprintAvailable()) { TooltipHandler.TipRegion(Rect, - ResourceBank.String.MissingTechprints(Research.TechprintsApplied, Research.techprintCount)); + "InsufficientTechprintsApplied".Translate(Research.TechprintsApplied, Research.TechprintCount)); + // ResourceBank.String.MissingTechprints(Research.TechprintsApplied, Research.techprintCount)); } if ( !BuildingPresent() ) { TooltipHandler.TipRegion( Rect, @@ -355,13 +361,50 @@ private void HandleTooltips() { TooltipHandler.TipRegion(Rect, prompt); } } - TooltipHandler.TipRegion(Rect, GetResearchTooltipString, Research.GetHashCode()); + if (Research.techLevel > Faction.OfPlayer.def.techLevel) { + TooltipHandler.TipRegion( + Rect, TechLevelTooLowTooltip, Research.GetHashCode() + 3); + } + TooltipHandler.TipRegion( + Rect, GetResearchTooltipString, Research.GetHashCode()); if (Settings.progressTooltip && ProgressWorthDisplaying() && !Research.IsFinished) { TooltipHandler.TipRegion(Rect, string.Format("Progress: {0}", ProgressString())); } } + private string ShortcutManualTooltip() { + if (Event.current.shift) { + StringBuilder builder = new StringBuilder(); + if (PainterIs(Painter.Queue)) { + builder.AppendLine(ResourceBank.String.LClickRemoveFromQueue); + } else { + if (Available()) { + builder.AppendLine(ResourceBank.String.LClickReplaceQueue); + builder.AppendLine(ResourceBank.String.SLClickAddToQueue); + builder.AppendLine(ResourceBank.String.ALClickAddToQueue); + } + if (DebugSettings.godMode) { + builder.AppendLine(ResourceBank.String.CLClickDebugInstant); + } + } + if (Available()) { + builder.AppendLine(ResourceBank.String.Drag); + } + builder.AppendLine(ResourceBank.String.RClickHighlight); + builder.AppendLine(ResourceBank.String.RClickIcon); + return builder.ToString(); + } else { + return ResourceBank.String.ShiftForShortcutManual; + } + } + + private string TechLevelTooLowTooltip() { + var techlevel = Faction.OfPlayer.def.techLevel; + return ResourceBank.String.TechLevelTooLow( + techlevel, Research.CostFactor(techlevel), (int) Research.baseCost); + } + private IEnumerable OtherLockedPrerequisites( IEnumerable ps) { if (ps == null) { @@ -375,7 +418,7 @@ private string OtherPrereqTooltip(List ps) { return ""; } return ResourceBank.String.OtherPrerequisites( - String.Join(", ", ps.Distinct().Select (p => p.LabelCap))); + String.Join(", ", ps.Distinct().Select(p => p.LabelCap))); } private string UnlockItemTooltip(Def def) { @@ -799,13 +842,8 @@ private string GetResearchTooltipString() var text = new StringBuilder(); text.AppendLine(Research.description); text.AppendLine(); - - text.AppendLine(ResourceBank.String.SLClickAddToQueue); - text.AppendLine(ResourceBank.String.ALClickAddToQueue); - - if (DebugSettings.godMode) { - text.AppendLine(ResourceBank.String.CLClickDebugInstant); - } + text.Append(ResourceBank.String.TechLevelOfResearch + + Research.techLevel.ToStringHuman().CapitalizeFirst()); return text.ToString(); } diff --git a/Source/ResourceBank.cs b/Source/ResourceBank.cs index d37b50d..373128b 100644 --- a/Source/ResourceBank.cs +++ b/Source/ResourceBank.cs @@ -1,4 +1,5 @@ using Verse; +using RimWorld; namespace ResearchPal { @@ -9,7 +10,7 @@ public static class String const string PREFIX = "ResearchPal."; static string TL(string s) => (PREFIX + s).Translate(); - static string TL(string s, params object[] args) => (PREFIX + s).Translate(args); + static string TL(string s, params NamedArgument[] args) => (PREFIX + s).Translate(args); #region Settings public static readonly string ShowNotificationPopup = TL("ShowNotificationPopup"); @@ -54,6 +55,8 @@ public static class String public static readonly string ShowIndexOnQueue = TL("ShowQueueIndexOnQueue"); public static readonly string ShowIndexOnQueueTip = TL("ShowQueueIndexOnQueueTip"); + public static readonly string DisableShortcutManual = TL("DisableShortcutManual"); + public static readonly string DontIgnoreHiddenPrerequisites = TL("DontIgnoreHiddenPrerequisites"); public static readonly string DontIgnoreHiddenPrerequisitesTip = TL("DontIgnoreHiddenPrerequisitesTip"); public static readonly string DebugResearch = TL("DebugResearch"); @@ -81,9 +84,22 @@ public static class String public static readonly string ALClickAddToQueue = TL("ALClickAddToQueue"); public static readonly string CLClickDebugInstant = TL("CLClickDebugInstant"); + public static readonly string RClickHighlight = TL("RightClickNode"); + public static readonly string RClickIcon = TL("RightClickIcon"); + public static readonly string Drag = TL("Drag"); + + public static readonly string ShiftForShortcutManual = TL("ShortcutManual"); + public static string MissingFacilities(string list) => TL("MissingFacilities", list); - public static string MissingTechprints(int techprintsApplied, int techprintCount) => TL("MissingTechprints", techprintsApplied, techprintCount); + // public static string MissingTechprints(int techprintsApplied, int techprintCount) => TL("MissingTechprints", techprintsApplied, techprintCount); public static string FinishedResearch(string label) => TL("ResearchFinished", label); + + public static readonly string TechLevelOfResearch = TL("TechLevel"); + + public static string TechLevelTooLow( + TechLevel techlevel, float multiplier, int baseCost) { + return TL("TechLevelTooLow", techlevel.ToStringHuman(), multiplier, baseCost); + } #endregion #region MainTabWindow_ResearchTree diff --git a/Source/Settings.cs b/Source/Settings.cs index b9448b0..7321883 100644 --- a/Source/Settings.cs +++ b/Source/Settings.cs @@ -34,6 +34,8 @@ public class Settings : ModSettings public static bool showIndexOnQueue = false; + public static bool disableShortcutManual = false; + public static float scrollingSpeedMultiplier = 1f; public static float zoomingSpeedMultiplier = 1f; public static float draggingDisplayDelay = 0.25f; @@ -112,6 +114,7 @@ public static void DoSettingsWindowContents(Rect windowRect) listLeft.CheckboxLabeled(ProgressTooltip, ref progressTooltip, ProgressTooltipTip); listLeft.CheckboxLabeled(AlwaysDisplayProgress, ref alwaysDisplayProgress, AlwaysDisplayProgressTip); listLeft.CheckboxLabeled(ShowIndexOnQueue, ref showIndexOnQueue, ShowIndexOnQueueTip); + listLeft.CheckboxLabeled(DisableShortcutManual, ref disableShortcutManual); listLeft.Gap(); @@ -167,6 +170,7 @@ public override void ExposeData() Scribe_Values.Look(ref progressTooltip, "ProgressTooltip", false); Scribe_Values.Look(ref alwaysDisplayProgress, "AlwaysDisplayProgress", false); Scribe_Values.Look(ref showIndexOnQueue, "ShowQueuePositionOnQueue", false); + Scribe_Values.Look(ref disableShortcutManual, "DisableShortcutManual", false); Scribe_Values.Look(ref dontIgnoreHiddenPrerequisites, "dontIgnoreHiddenPrerequisites", true); Scribe_Values.Look(ref scrollingSpeedMultiplier, "ScrollingSpeedMultiplier", 1); Scribe_Values.Look(ref zoomingSpeedMultiplier, "zoomingSpeedMultiplier", 1);