From b947eab31c43e5da049c1acdc5475211ae584ffa Mon Sep 17 00:00:00 2001 From: Killface1980 Date: Sun, 19 Nov 2017 14:12:33 +0100 Subject: [PATCH] B18 --- About/About.xml | 2 +- Assemblies/Outfitter.dll | Bin 76288 -> 75776 bytes Languages/English/Keyed/Outfitter_Keyed.xml | 3 +- Source/Outfitter/HarmonyPatches.cs | 14 +- Source/Outfitter/Outfitter.csproj | 2 +- Source/Outfitter/TabPatch/ITab_Bills_Patch.cs | 130 +++++++++++++++++- 6 files changed, 139 insertions(+), 12 deletions(-) diff --git a/About/About.xml b/About/About.xml index 936aeeb..e1107e4 100644 --- a/About/About.xml +++ b/About/About.xml @@ -1,6 +1,6 @@  - Outfitter A18 + Outfitter 0.18.0 Killface 0.18.0 diff --git a/Assemblies/Outfitter.dll b/Assemblies/Outfitter.dll index a9968fc36266be78575bf18507b577d30a869254..3d852cd85dee276cc7df8e69e45d8139fd3b7935 100644 GIT binary patch delta 29486 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 MGsRD0MZWI;0S-Mx8~^|S diff --git a/Languages/English/Keyed/Outfitter_Keyed.xml b/Languages/English/Keyed/Outfitter_Keyed.xml index 397f2db..0c16585 100644 --- a/Languages/English/Keyed/Outfitter_Keyed.xml +++ b/Languages/English/Keyed/Outfitter_Keyed.xml @@ -26,7 +26,8 @@ Equipment and Inventory Worn Apparel Add Work Stats - Add Individual Stats + + Add Personal Stats (skills) Drop and Haul Set Prefered Gear Prefered Gear: diff --git a/Source/Outfitter/HarmonyPatches.cs b/Source/Outfitter/HarmonyPatches.cs index 4549670..6c35342 100644 --- a/Source/Outfitter/HarmonyPatches.cs +++ b/Source/Outfitter/HarmonyPatches.cs @@ -46,11 +46,15 @@ static HarmonyPatches() null, new HarmonyMethod(typeof(HarmonyPatches), nameof(UpdatePriorities))); - harmony.Patch( - AccessTools.Method(typeof(BillStack), nameof(BillStack.DoListing)), - new HarmonyMethod(typeof(ITab_Bills_Patch), nameof(ITab_Bills_Patch.DoListing)), - null); - + // harmony.Patch( + // AccessTools.Method(typeof(ITab_Bills), "FillTab"), + // new HarmonyMethod(typeof(ITab_Bills_Patch), nameof(ITab_Bills_Patch.FillTab_Prefix)), + // null); + // + // harmony.Patch( + // AccessTools.Method(typeof(ITab_Bills), "TabUpdate"), + // new HarmonyMethod(typeof(ITab_Bills_Patch), nameof(ITab_Bills_Patch.TabUpdate_Prefix)), + // null); // harmony.Patch( // AccessTools.Method(typeof(ThinkNode_JobGiver), nameof(ThinkNode_JobGiver.TryIssueJobPackage)), diff --git a/Source/Outfitter/Outfitter.csproj b/Source/Outfitter/Outfitter.csproj index 62f7391..1fbb7ac 100644 --- a/Source/Outfitter/Outfitter.csproj +++ b/Source/Outfitter/Outfitter.csproj @@ -73,7 +73,7 @@ - + diff --git a/Source/Outfitter/TabPatch/ITab_Bills_Patch.cs b/Source/Outfitter/TabPatch/ITab_Bills_Patch.cs index 3deee5d..5143807 100644 --- a/Source/Outfitter/TabPatch/ITab_Bills_Patch.cs +++ b/Source/Outfitter/TabPatch/ITab_Bills_Patch.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; using System.Linq; - using System.Reflection; using RimWorld; @@ -23,7 +22,111 @@ public static class ITab_Bills_Patch // RimWorld.ITab_Bills - public static bool DoListing(BillStack __instance, ref Bill __result, Rect rect, Func> recipeOptionsMaker, ref Vector2 scrollPosition, ref float viewHeight) + public static bool FillTab_Prefix() + { + Building_WorkTable selTable = (Building_WorkTable)Find.Selector.SingleSelectedThing; + if (selTable.def != ThingDef.Named("HandTailoringBench") + || selTable.def != ThingDef.Named("ElectricTailoringBench")) + { + return true; + } + PlayerKnowledgeDatabase.KnowledgeDemonstrated(ConceptDefOf.BillsTab, KnowledgeAmount.FrameDisplayed); + float x = WinSize.x; + Vector2 winSize2 = WinSize; + Rect rect2 = new Rect(0f, 0f, x, winSize2.y).ContractedBy(10f); + Func> recipeOptionsMaker = delegate + { + List list = new List(); + for (int i = 0; i < selTable.def.AllRecipes.Count; i++) + { + if (selTable.def.AllRecipes[i].AvailableNow) + { + RecipeDef recipe = selTable.def.AllRecipes[i]; + // Outfitter jump in here + { + for (int j = 0; j < recipe.products.Count; j++) + { + ThingCountClass rec = recipe.products[i]; + for (int k = 0; k < rec.thingDef.apparel.bodyPartGroups.Count; k++) + { + list.Add(new FloatMenuOption(rec.thingDef.apparel.bodyPartGroups[k].label, null)); + + } + + } + } + // Outfitter end + list.Add( + new FloatMenuOption( + recipe.LabelCap, + delegate + { + if (!selTable.Map.mapPawns.FreeColonists.Any( + col => recipe.PawnSatisfiesSkillRequirements(col))) + { + Bill.CreateNoPawnsWithSkillDialog(recipe); + } + + Bill bill = recipe.MakeNewBill(); + selTable.billStack.AddBill(bill); + if (recipe.conceptLearned != null) + { + PlayerKnowledgeDatabase.KnowledgeDemonstrated( + recipe.conceptLearned, + KnowledgeAmount.Total); + } + + if (TutorSystem.TutorialMode) + { + TutorSystem.Notify_Event("AddBill-" + recipe.LabelCap); + } + }, + MenuOptionPriority.Default, + null, + null, + 29f, + rect => Widgets.InfoCardButton( + (float)(rect.x + 5.0), + (float)(rect.y + (rect.height - 24.0) / 2.0), + recipe))); + } + } + + if (!list.Any()) + { + list.Add( + new FloatMenuOption( + "NoneBrackets".Translate(), + null)); + } + + return list; + }; + + mouseoverBill = DoListing(selTable.BillStack, rect2, recipeOptionsMaker, ref scrollPosition, ref viewHeight); + + return false; + + } + + public static bool TabUpdate_Prefix() + { + Building_WorkTable selTable = (Building_WorkTable)Find.Selector.SingleSelectedThing; + if (selTable.def != ThingDef.Named("HandTailoringBench") + || selTable.def != ThingDef.Named("ElectricTailoringBench")) + { + return true; + } + + if (mouseoverBill != null) + { + mouseoverBill.TryDrawIngredientSearchRadiusOnMap(Find.Selector.SingleSelectedThing.Position); + mouseoverBill = null; + } + return false; + } + + public static Bill DoListing(BillStack __instance, Rect rect, Func> recipeOptionsMaker, ref Vector2 scrollPosition, ref float viewHeight) { Bill result = null; GUI.BeginGroup(rect); @@ -33,6 +136,25 @@ public static bool DoListing(BillStack __instance, ref Bill __result, Rect rect, Rect rect2 = new Rect(0f, 0f, 150f, 29f); if (Widgets.ButtonText(rect2, "AddBill".Translate(), true, false, true)) { + // Outfitter Code + + // for (int i = 0; i < __instance.Bills.Count; i++) + // { + // Bill bill = __instance.Bills[i]; + // bill + // } + // + // List items = labeledSortingActions.Keys.Select( + // label => + // { + // List fmo = labeledSortingActions[label]; + // return Tools.MakeMenuItemForLabel(label, fmo); + // }).ToList(); + // + // Tools.LabelMenu = new FloatMenuLabels(items); + // Find.WindowStack.Add(Tools.LabelMenu); + + // Vanilla Find.WindowStack.Add(new FloatMenu(recipeOptionsMaker())); } UIHighlighter.HighlightOpportunity(rect2, "AddBill"); @@ -60,8 +182,8 @@ public static bool DoListing(BillStack __instance, ref Bill __result, Rect rect, } Widgets.EndScrollView(); GUI.EndGroup(); - __result= result; - return false; + return result; } + } } \ No newline at end of file