From 58ade25ee1497650ebc2cd004b49e019dbcf463b Mon Sep 17 00:00:00 2001 From: Fluffy Date: Mon, 25 Apr 2016 17:20:45 +0200 Subject: [PATCH] [removed] - research tree and enhanced research menu - research tree will again be it's own mod (I intend to use a linear programming library - I doubt we want that as a CCL dependency) - enhanced research can use a complete overhaul - also removed references to these things in the forum posts. --- DLL_Project/CommunityCoreLibrary.csproj | 521 +++++++------ .../ResearchProjectDef_Extensions.cs | 43 +- .../MainTabs/MainTabWindow_Research.cs | 551 ------------- .../MainTabs/MainTabWindow_ResearchTree.cs | 173 ----- DLL_Project/PostBuild.txt | 36 - DLL_Project/ResearchTree/Detours.cs | 146 ---- DLL_Project/ResearchTree/Node.cs | 722 ------------------ DLL_Project/ResearchTree/Queue.cs | 237 ------ DLL_Project/ResearchTree/ResearchTree.cs | 536 ------------- DLL_Project/ResearchTree/Settings.cs | 24 - DLL_Project/ResearchTree/Tree.cs | 182 ----- .../ResearchTreeDetourInjector.cs | 38 - Forum/1_Release_Post.bbc | 151 ++-- .../About/About.xml | 14 - .../Defs/MainTabDefs/MainTabs.xml | 12 - .../ModHelperDefs/ModHelper_ResearchMenu.xml | 13 - .../About/About.xml | 14 - .../Defs/MainTabDefs/MainTabs.xml | 12 - .../ModHelperDefs/ModHelper_ResearchTree.xml | 17 - .../Assemblies/Community Core Library.dll | Bin 356864 -> 314368 bytes 20 files changed, 348 insertions(+), 3094 deletions(-) delete mode 100644 DLL_Project/MainTabs/MainTabWindow_Research.cs delete mode 100644 DLL_Project/MainTabs/MainTabWindow_ResearchTree.cs delete mode 100644 DLL_Project/PostBuild.txt delete mode 100644 DLL_Project/ResearchTree/Detours.cs delete mode 100644 DLL_Project/ResearchTree/Node.cs delete mode 100644 DLL_Project/ResearchTree/Queue.cs delete mode 100644 DLL_Project/ResearchTree/ResearchTree.cs delete mode 100644 DLL_Project/ResearchTree/Settings.cs delete mode 100644 DLL_Project/ResearchTree/Tree.cs delete mode 100644 DLL_Project/SpecialInjectors/ResearchTreeDetourInjector.cs delete mode 100644 _Mod/Modders Resource/Community Core Library - Enhanced Research Menu/About/About.xml delete mode 100644 _Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/MainTabDefs/MainTabs.xml delete mode 100644 _Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/ModHelperDefs/ModHelper_ResearchMenu.xml delete mode 100644 _Mod/Modders Resource/Community Core Library - Research Tree/About/About.xml delete mode 100644 _Mod/Modders Resource/Community Core Library - Research Tree/Defs/MainTabDefs/MainTabs.xml delete mode 100644 _Mod/Modders Resource/Community Core Library - Research Tree/Defs/ModHelperDefs/ModHelper_ResearchTree.xml diff --git a/DLL_Project/CommunityCoreLibrary.csproj b/DLL_Project/CommunityCoreLibrary.csproj index 4e85fcf..169b8bc 100644 --- a/DLL_Project/CommunityCoreLibrary.csproj +++ b/DLL_Project/CommunityCoreLibrary.csproj @@ -1,266 +1,257 @@ - - - - - Debug - AnyCPU - {A36BEEB2-7379-475B-B537-827E34571962} - Library - Properties - CommunityCoreLibrary - 512 - - 0.12.7 - v3.5 - Community Core Library - - - true - full - false - bin\Debug\ - TRACE;DEBUG - prompt - 4 - true - - - true - bin\Release\ - RELEASE;TRACE - prompt - 4 - true - - - false - bin\Debug - 4 - true - true - TRACE;DEBUG;DEVELOPER - - - - Source-DLLs\Assembly-CSharp.dll - False - - - - - - - - - Source-DLLs\UnityEngine.dll - False - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - call "$(ProjectDir)PostBuild.bat" $(ConfigurationName) "$(TargetPath)" $(SolutionDir) - - - - + + + + + Debug + AnyCPU + {A36BEEB2-7379-475B-B537-827E34571962} + Library + Properties + CommunityCoreLibrary + 512 + + 0.12.7 + v3.5 + Community Core Library + + + true + full + false + bin\Debug\ + TRACE;DEBUG + prompt + 4 + true + + + true + bin\Release\ + RELEASE;TRACE + prompt + 4 + true + + + false + bin\Debug + 4 + true + true + TRACE;DEBUG;DEVELOPER + + + + Source-DLLs\Assembly-CSharp.dll + False + + + + + + + + + Source-DLLs\UnityEngine.dll + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + call "$(ProjectDir)PostBuild.bat" $(ConfigurationName) "$(TargetPath)" $(SolutionDir) + + + + \ No newline at end of file diff --git a/DLL_Project/Extensions/ResearchProjectDef_Extensions.cs b/DLL_Project/Extensions/ResearchProjectDef_Extensions.cs index f1a29f4..4ccdc9e 100644 --- a/DLL_Project/Extensions/ResearchProjectDef_Extensions.cs +++ b/DLL_Project/Extensions/ResearchProjectDef_Extensions.cs @@ -1,16 +1,13 @@ -using CommunityCoreLibrary.ResearchTree; -using System; +using System; using System.Collections.Generic; using System.Linq; using Verse; namespace CommunityCoreLibrary { - [StaticConstructorOnStartup] public static class ResearchProjectDef_Extensions { - #region Static Data private static Dictionary isLockedOut; @@ -21,10 +18,9 @@ static ResearchProjectDef_Extensions() { isLockedOut = new Dictionary(); _unlocksCache = new Dictionary>>(); - } - #endregion + #endregion Static Data #region Availability @@ -42,7 +38,7 @@ public static bool IsLockedOut( this ResearchProjectDef researchProjectDef ) internal static bool _IsLockedOut( this ResearchProjectDef researchProjectDef, ResearchProjectDef initialDef ) { bool rVal = false; - if( !isLockedOut.TryGetValue( researchProjectDef.shortHash, out rVal ) ) + if ( !isLockedOut.TryGetValue( researchProjectDef.shortHash, out rVal ) ) { #if DEBUG CCL_Log.TraceMod( @@ -107,7 +103,7 @@ public static bool HasResearchRequirement( this ResearchProjectDef researchProje ) ); } - #endregion + #endregion Availability #region Lists of affected data @@ -199,11 +195,6 @@ public static List> GetUnlockDefsAndDescs( this ResearchProjec return unlocks; } - public static Node Node( this ResearchProjectDef research ) - { - return ResearchTree.ResearchTree.Forest.FirstOrDefault( node => node.Research == research ); - } - public static List GetResearchRequirements( this ResearchProjectDef researchProjectDef ) { #if DEBUG @@ -314,8 +305,8 @@ public static List GetThingsUnlocked( this ResearchProjectDef research var thingsOn = new List(); var researchThings = DefDatabase.AllDefsListForReading.Where( t => ( ( !t.IsLockedOut() )&& - (t.GetResearchRequirements() != null) && - (t.GetResearchRequirements().Contains(researchProjectDef)) + ( t.GetResearchRequirements() != null ) && + ( t.GetResearchRequirements().Contains( researchProjectDef ) ) ) ).ToList(); if ( !researchThings.NullOrEmpty() ) @@ -357,7 +348,7 @@ public static List GetTerrainUnlocked( this ResearchProjectDef resea var researchThings = DefDatabase.AllDefsListForReading.Where( t => ( ( !t.IsLockedOut() )&& ( t.GetResearchRequirements() != null )&& - ( t.GetResearchRequirements().Contains(researchProjectDef)) + ( t.GetResearchRequirements().Contains( researchProjectDef ) ) ) ).ToList(); if ( !researchThings.NullOrEmpty() ) @@ -389,7 +380,7 @@ public static List GetRecipesUnlocked( this ResearchProjectDef resear ( d.researchPrerequisite == researchProjectDef ) ) ).ToList(); - if( !researchRecipes.NullOrEmpty() ) + if ( !researchRecipes.NullOrEmpty() ) { recipes.AddRangeUnique( researchRecipes ); } @@ -397,9 +388,9 @@ public static List GetRecipesUnlocked( this ResearchProjectDef resear if ( thingDefs != null ) { // Add buildings for those recipes - foreach( var r in recipes ) + foreach ( var r in recipes ) { - if( !r.recipeUsers.NullOrEmpty() ) + if ( !r.recipeUsers.NullOrEmpty() ) { thingDefs.AddRangeUnique( r.recipeUsers ); } @@ -407,7 +398,7 @@ public static List GetRecipesUnlocked( this ResearchProjectDef resear ( !d.recipes.NullOrEmpty() )&& ( d.recipes.Contains( r ) ) ) ).ToList(); - if( !recipeThings.NullOrEmpty() ) + if ( !recipeThings.NullOrEmpty() ) { thingDefs.AddRangeUnique( recipeThings ); } @@ -423,12 +414,12 @@ public static List GetRecipesUnlocked( this ResearchProjectDef resear ) ).ToList(); // Aggregate research - if( !advancedResearch.NullOrEmpty() ) + if ( !advancedResearch.NullOrEmpty() ) { - foreach( var a in advancedResearch ) + foreach ( var a in advancedResearch ) { recipes.AddRangeUnique( a.recipeDefs ); - if( thingDefs != null ) + if ( thingDefs != null ) { thingDefs.AddRangeUnique( a.thingDefs ); } @@ -500,13 +491,13 @@ public static List GetSowTagsUnlocked( this ResearchProjectDef researchP ( d.plant.sowResearchPrerequisites.Contains( researchProjectDef ) ) ) ).ToList(); - if( !researchPlants.NullOrEmpty() ) + if ( !researchPlants.NullOrEmpty() ) { - foreach( var plant in researchPlants ) + foreach ( var plant in researchPlants ) { sowTags.AddRangeUnique( plant.plant.sowTags ); } - if( thingDefs != null ) + if ( thingDefs != null ) { thingDefs.AddRangeUnique( researchPlants ); } diff --git a/DLL_Project/MainTabs/MainTabWindow_Research.cs b/DLL_Project/MainTabs/MainTabWindow_Research.cs deleted file mode 100644 index 736154b..0000000 --- a/DLL_Project/MainTabs/MainTabWindow_Research.cs +++ /dev/null @@ -1,551 +0,0 @@ -using RimWorld; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using Verse; -using Verse.Sound; - -namespace CommunityCoreLibrary -{ - /// - /// This thing is broken. - Fluffy - /// This needs a complete re-do for A13. - 1000101 - /// - public class MainTabWindow_Research : MainTabWindow, IHelpDefView - { - // UI settings - private const float LeftAreaWidth = 330f; - - private const int ProjectIntervalY = 25; - private Vector2 _projectListScrollPosition = Vector2.zero; - private Vector2 _contentScrollPos = Vector2.zero; - private Vector2 _margin = new Vector2(6f, 6f); - private Vector2 _buttonSize = new Vector2(100f, 50f); - private float _contentHeight = 9999f; - - // Progress bar textures - private static readonly Texture2D BarFillTex = SolidColorMaterials.NewSolidColorTexture(new Color(0.2f, 0.8f, 0.85f)); - - private static readonly Texture2D BarBgTex = SolidColorMaterials.NewSolidColorTexture(new Color(0.1f, 0.1f, 0.1f)); - - // toggles and resources - private IEnumerable _researchDefs = DefDatabase.AllDefsListForReading.Where( rpd => rpd.GetHelpDef() != null); - - private IEnumerable _advancedHelpDefs = DefDatabase.AllDefsListForReading.Where(hd => hd.keyDef is AdvancedResearchDef); - private IEnumerable _source; - private SortOptions _sortBy = SortOptions.Cost; - private bool _asc = true; - private string _filter = ""; - private string _oldFilter; - protected HelpDef SelectedProject; - private ShowResearch _showResearchedProjects = ShowResearch.Available; - private bool _noBenchWarned; - - // enums - private enum ShowResearch - { - All, - Completed, - Available, - Advanced - } - - public enum SortOptions - { - Name, - Cost - } - - public override float TabButtonBarPercent - { - get - { - ResearchProjectDef currentProj = Find.ResearchManager.currentProj; - if ( currentProj == null ) - { - return 0f; - } - return currentProj.PercentComplete; - } - } - - private List _sourceTabs; - - // The tab definitions for the research lists. - private List SourceTabs - { - get - { - if ( _sourceTabs == null ) - { - _sourceTabs = new List(); - TabRecord item = new TabRecord( "RI.All".Translate(), delegate - { - this._showResearchedProjects = ShowResearch.All; - RefreshSource(); - }, _showResearchedProjects == ShowResearch.All ); - _sourceTabs.Add( item ); - - TabRecord item2 = new TabRecord( "Researched".Translate(), delegate - { - this._showResearchedProjects = ShowResearch.Completed; - RefreshSource(); - }, _showResearchedProjects == ShowResearch.Completed ); - _sourceTabs.Add( item2 ); - - TabRecord item3 = new TabRecord( "RI.Available".Translate(), delegate - { - this._showResearchedProjects = ShowResearch.Available; - RefreshSource(); - }, _showResearchedProjects == ShowResearch.Available ); - _sourceTabs.Add( item3 ); - - // Add Advanced Research tab if there are any helpdefs for it. - // This ensures we don't grab any that didn't pass the 'relevancy' check. - if ( DefDatabase.AllDefsListForReading.Any( hd => hd.keyDef is AdvancedResearchDef ) ) - { - TabRecord AR = new TabRecord( "AutoHelpSubCategoryAdvanced".Translate(), delegate - { - _showResearchedProjects = ShowResearch.Advanced; - RefreshSource(); - }, _showResearchedProjects == ShowResearch.Advanced ); - _sourceTabs.Add( AR ); - } - } - - return _sourceTabs; - } - } - - public override void PreOpen() - { - base.PreOpen(); - if( Find.ResearchManager.currentProj != null ) - { - SelectedProject = Find.ResearchManager.currentProj.GetHelpDef(); - } - _filter = ""; - _oldFilter = ""; - RefreshSource(); - MainTabWindow_ModHelp.Recache(); - } - - public override void DoWindowContents( Rect inRect ) - { - base.DoWindowContents( inRect ); - - // warn the player if no research bench is built - if ( !_noBenchWarned ) - { - if ( !Find.ListerBuildings.allBuildingsColonist.Any( b => ( - ( b.def.thingClass == typeof( Building_ResearchBench ) )|| - ( b.def.thingClass.IsSubclassOf( typeof( Building_ResearchBench ) ) ) - ) ) ) - { - Find.WindowStack.Add( new Dialog_Message( "ResearchMenuWithoutBench".Translate() ) ); - } - _noBenchWarned = true; - } - - // Title - Text.Font = GameFont.Medium; - Text.Anchor = TextAnchor.UpperCenter; - Widgets.Label( new Rect( 0f, 0f, inRect.width, 300f ), "Research".Translate() ); - Text.Anchor = TextAnchor.UpperLeft; - Text.Font = GameFont.Small; - - // create content areas - Rect sidebar = new Rect( 0f, 75f, LeftAreaWidth, inRect.height - 75f ); - Rect content = new Rect( sidebar.xMax + _margin.x, 45f, inRect.width - sidebar.width - _margin.x, inRect.height - 45f ); - - // draw boxes around content areas - Widgets.DrawMenuSection( sidebar, false ); - Widgets.DrawMenuSection( content ); - - // plop in extra row for input + sort buttons - // set up rects - Rect sortFilterRow = sidebar.ContractedBy( 10f ); - sortFilterRow.height = 30f; - Rect filterRect = new Rect( sortFilterRow ); - filterRect.width = sortFilterRow.width - 110f; - Rect deleteFilter = new Rect( filterRect.xMax + _margin.x, filterRect.yMin + 3f, 24f, 24f ); - Rect sortByName = new Rect( deleteFilter.xMax + _margin.x, filterRect.yMin + 3f, 24f, 24f ); - Rect sortByCost = new Rect( sortByName.xMax + _margin.x, filterRect.yMin + 3f, 24f, 24f ); - - // tooltips - TooltipHandler.TipRegion( filterRect, "RI.filterTooltip".Translate() ); - if ( _filter != "" ) - { - TooltipHandler.TipRegion( deleteFilter, "RI.deleteFilterTooltip".Translate() ); - } - TooltipHandler.TipRegion( sortByName, "RI.sortByNameTooltip".Translate() ); - TooltipHandler.TipRegion( sortByCost, "RI.sortByCostTooltip".Translate() ); - - // filter input, update in realtime - it's not a very expensive op, and we're paused anyway. - _filter = Widgets.TextField( filterRect, _filter ); - if ( _oldFilter != _filter ) - { - _oldFilter = _filter; - RefreshSource(); - } - if ( _filter != "" ) - { - if ( Widgets.ImageButton( deleteFilter, Widgets.CheckboxOffTex ) ) - { - _filter = ""; - RefreshSource(); - } - } - - // sort options - if ( Widgets.ImageButton( sortByName, Icon.SortByName ) ) - { - if ( _sortBy != SortOptions.Name ) - { - _sortBy = SortOptions.Name; - _asc = false; - RefreshSource(); - } - else - { - _asc = !_asc; - RefreshSource(); - } - } - if ( Widgets.ImageButton( sortByCost, Icon.SortByCost ) ) - { - if ( _sortBy != SortOptions.Cost ) - { - _sortBy = SortOptions.Cost; - _asc = true; - RefreshSource(); - } - else - { - _asc = !_asc; - RefreshSource(); - } - } - - // contract sidebar area for margins, bump down to compensate for filter. - Rect sidebarInner = sidebar.ContractedBy( 10f ); - sidebarInner.yMin += ProjectIntervalY + _margin.y; - sidebarInner.height -= ProjectIntervalY + _margin.y; - - // set height - float height = ProjectIntervalY * _source.Count(); - - // begin scrollview and group - Rect sidebarContent = new Rect( 0f, 0f, sidebarInner.width - 16f, height ); - Widgets.BeginScrollView( sidebarInner, ref _projectListScrollPosition, sidebarContent ); - Rect position = sidebarContent.ContractedBy( _margin.x ); - GUI.BeginGroup( position ); - - // Draw the list of researches in the source chosen. - int curY = 0; - - foreach ( HelpDef current in from rp in _source - select rp ) - { - Rect sidebarRow = new Rect( 0f, curY, position.width, ProjectIntervalY ); - DrawResearchRow( current, sidebarRow ); - curY += ProjectIntervalY; - } - GUI.EndGroup(); - Widgets.EndScrollView(); - - // Draw the source selection tabs. - TabDrawer.DrawTabs( sidebar, SourceTabs ); - - // Draw the content area. - DrawResearchContent( content ); - } - - private void DrawResearchContent( Rect rect ) - { - if ( SelectedProject == null ) - { - return; - } - - // Set up rects - Rect titleRect = new Rect( rect.xMin, rect.yMin, rect.width, 60f ); - Rect descRect = rect.ContractedBy( _margin.x * 2 ); - descRect.yMin = titleRect.yMax; - descRect.yMax -= _buttonSize.y * 2 + _margin.y * 2; - Rect controlRect = rect.ContractedBy( _margin.x * 2 ); - controlRect.yMin = descRect.yMax + _margin.y; - - // description - float paragraphMargin = 8f; - - Text.Font = GameFont.Medium; - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( titleRect, SelectedProject.LabelCap ); - Text.Font = GameFont.Small; - Text.Anchor = TextAnchor.UpperLeft; - - Rect viewRect = descRect; - viewRect.width -= 16f; - viewRect.height = _contentHeight; - - Widgets.BeginScrollView( descRect, ref _contentScrollPos, viewRect.AtZero() ); - - Vector2 cur = Vector2.zero; - - HelpDetailSectionHelper.DrawText( ref cur, viewRect.width - cur.x, SelectedProject.description ); - - cur.y += paragraphMargin; - - foreach ( HelpDetailSection section in SelectedProject.HelpDetailSections ) - { - section.Draw( ref cur, viewRect.width, this ); - } - - _contentHeight = cur.y; - - Widgets.EndScrollView(); - - // controls - GUI.BeginGroup( controlRect ); - Rect buttonRect = new Rect( controlRect.width / 2f - _buttonSize.x / 2, 0f, _buttonSize.x, _buttonSize.y ); - - Def selectedProjectDef = SelectedProject.keyDef; - - // regular research - if ( selectedProjectDef is ResearchProjectDef ) - { - ResearchProjectDef selectedResearchProjectDef = (ResearchProjectDef)selectedProjectDef; - if ( selectedResearchProjectDef.IsFinished ) - { - Widgets.DrawMenuSection( buttonRect ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( buttonRect, "Finished".Translate() ); - Text.Anchor = TextAnchor.UpperLeft; - } - else if ( selectedResearchProjectDef == Find.ResearchManager.currentProj ) - { - Widgets.DrawMenuSection( buttonRect ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( buttonRect, "InProgress".Translate() ); - Text.Anchor = TextAnchor.UpperLeft; - } - else if ( !selectedResearchProjectDef.ResearchPrereqsFulfilled ) - { - Widgets.DrawMenuSection( buttonRect ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( buttonRect, "RI.PreReqLocked".Translate() ); - Text.Anchor = TextAnchor.UpperLeft; - } - else - { - if ( Widgets.TextButton( buttonRect, "Research".Translate() ) ) - { - SoundDef.Named( "ResearchStart" ).PlayOneShotOnCamera(); - Find.ResearchManager.currentProj = selectedResearchProjectDef; - } - if ( Prefs.DevMode ) - { - Rect devButtonRect = buttonRect; - devButtonRect.x += devButtonRect.width + _margin.x; - if ( Widgets.TextButton( devButtonRect, "Debug Insta-finish" ) ) - { - Find.ResearchManager.currentProj = selectedResearchProjectDef; - Find.ResearchManager.InstantFinish( selectedResearchProjectDef ); - } - } - } - Rect progressRect = new Rect( _margin.x, _buttonSize.y + _margin.y, controlRect.width - 2 * _margin.x, _buttonSize.y ); - Widgets.FillableBar( progressRect, selectedResearchProjectDef.PercentComplete, BarFillTex, BarBgTex, true ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( progressRect, selectedResearchProjectDef.ProgressNumbersString ); - } - - // advanced research - if ( selectedProjectDef is AdvancedResearchDef ) - { - AdvancedResearchDef selectedAdvancedResearchDef = (AdvancedResearchDef)selectedProjectDef; - List prereqs = selectedAdvancedResearchDef.researchDefs; - - if ( selectedAdvancedResearchDef.IsFinished ) - { - Widgets.DrawMenuSection( buttonRect ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( buttonRect, "Finished".Translate() ); - Text.Anchor = TextAnchor.UpperLeft; - } - else if ( prereqs.Any( rd => rd.IsFinished ) ) - { - Widgets.DrawMenuSection( buttonRect ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( buttonRect, "InProgress".Translate() ); - Text.Anchor = TextAnchor.UpperLeft; - } - else if ( selectedAdvancedResearchDef.IsLockedOut() ) - { - Widgets.DrawMenuSection( buttonRect ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( buttonRect, "RI.PreReqLocked".Translate() ); - Text.Anchor = TextAnchor.UpperLeft; - } - - // progress, slightly different for advanced research def - Rect progressRect = new Rect( _margin.x, _buttonSize.y + _margin.y, controlRect.width - 2 * _margin.x, _buttonSize.y ); - float percentComplete = prereqs.Count( rd => rd.IsFinished ) / prereqs.Count; - Widgets.FillableBar( progressRect, percentComplete, BarFillTex, BarBgTex, true ); - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( progressRect, prereqs.Count( rd => rd.IsFinished ) + " / " + prereqs.Count ); - } - - Text.Anchor = TextAnchor.UpperLeft; - GUI.EndGroup(); - } - - private void DrawResearchRow( HelpDef helpDef, Rect sidebarRow ) - { - if ( SelectedProject == helpDef ) - { - GUI.DrawTexture( sidebarRow, TexUI.HighlightTex ); - } - string text = helpDef.LabelCap; - - Def def = helpDef.keyDef; - - if ( def is ResearchProjectDef ) - { - text += " (" + ( (ResearchProjectDef)def ).totalCost.ToString( "F0" ) + ")"; - } - else if ( def is AdvancedResearchDef ) - { - text += " (" + ( (AdvancedResearchDef)def ).TotalCost.ToString( "F0" ) + ")"; - } -#if DEBUG - else - { - text += " (" + def.GetType() + ")"; - } -#endif - Rect sidebarRowInner = new Rect( sidebarRow ); - sidebarRowInner.x += 6f; - sidebarRowInner.width -= 6f; - float num2 = Text.CalcHeight( text, sidebarRowInner.width ); - if ( sidebarRowInner.height < num2 ) - { - sidebarRowInner.height = num2 + 3f; - } - // give the label a color if we're in the all tab. - Color textColor = new Color( .8f, .85f, 1f ); - ; - if ( def is ResearchProjectDef ) - { - if ( ( (ResearchProjectDef)def ).IsFinished ) - { - textColor = new Color( 1f, 1f, 1f ); - } - else if ( !( (ResearchProjectDef)def ).ResearchPrereqsFulfilled) - { - textColor = new Color( .6f, .6f, .6f ); - } - } - else if ( def is AdvancedResearchDef ) - { - if ( ( (AdvancedResearchDef)def ).IsFinished ) - { - textColor = new Color( 1f, 1f, 1f ); - } - else if ( ( (AdvancedResearchDef)def ).IsLockedOut() ) - { - textColor = new Color( .6f, .6f, .6f ); - } - } - - if ( Widgets.TextButton( sidebarRowInner, text, false, true, textColor ) ) - { - SoundDefOf.Click.PlayOneShotOnCamera(); - SelectedProject = helpDef; - } - } - - private void RefreshSource() - { - if ( _showResearchedProjects == ShowResearch.All ) - { - _source = from hd in _researchDefs - where !hd.prerequisites.Contains( hd ) && hd.GetHelpDef() != null - select hd.GetHelpDef(); - } - else if ( _showResearchedProjects == ShowResearch.Completed ) - { - _source = from hd in _researchDefs - where hd.IsFinished && hd.GetHelpDef() != null - select hd.GetHelpDef(); - } - else if ( _showResearchedProjects == ShowResearch.Available ) - { - _source = from hd in _researchDefs - where !hd.IsFinished && hd.ResearchPrereqsFulfilled && hd.GetHelpDef() != null - select hd.GetHelpDef(); - } - else if ( _showResearchedProjects == ShowResearch.Advanced ) - { - _source = from hd in _advancedHelpDefs - where hd.keyDef is AdvancedResearchDef - select hd; - } - - // just to make sure _source is a valid IEnumerable at this point - if ( _source == null ) - _source = new List(); - - if ( _filter != "" ) - { - _source = _source.Where( rpd => rpd.label.ToUpper().Contains( _filter.ToUpper() ) ); - } - - if ( _source.Count() > 2 ) - { - switch ( _sortBy ) - { - case SortOptions.Cost: - if ( _showResearchedProjects != ShowResearch.Advanced ) - { - _source = _source.OrderBy( hd => ( (ResearchProjectDef)hd.keyDef ).totalCost ); - } - else - { - _source = - _source.OrderBy( - hd => ( (AdvancedResearchDef)hd.keyDef ).TotalCost ); - } - break; - - case SortOptions.Name: - _source = _source.OrderBy( rpd => rpd.LabelCap ?? string.Empty ); - break; - } - - if ( _asc ) - _source = _source.Reverse(); - } - } - - public void JumpTo( HelpDef def ) - { - Find.MainTabsRoot.SetCurrentTab( this.def, false ); - _showResearchedProjects = ShowResearch.All; - RefreshSource(); - SelectedProject = def; - } - - public bool Accept( HelpDef def ) - { - return def.keyDef is ResearchProjectDef; - } - - public IHelpDefView SecondaryView( HelpDef def ) - { - MainTabDef helpTab = DefDatabase.GetNamed( "CCL_ModHelp", false ); - return helpTab.Window as MainTabWindow_ModHelp; - } - } -} \ No newline at end of file diff --git a/DLL_Project/MainTabs/MainTabWindow_ResearchTree.cs b/DLL_Project/MainTabs/MainTabWindow_ResearchTree.cs deleted file mode 100644 index b5e037f..0000000 --- a/DLL_Project/MainTabs/MainTabWindow_ResearchTree.cs +++ /dev/null @@ -1,173 +0,0 @@ -// ResearchTree/LogHeadDB.cs -// -// Copyright Karel Kroeze, 2015. -// -// Created 2015-12-21 13:30 - -using CommunityCoreLibrary; -using CommunityCoreLibrary.ResearchTree; -using RimWorld; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -using UnityEngine; -using Verse; - -namespace CommunityCoreLibrary -{ - public class MainTabWindow_ResearchTree : MainTabWindow - { - #region Fields - - public static List> connections = new List>(); - public static List> highlightedConnections = new List>(); - public static Dictionary> hubTips = new Dictionary>(); - public static List nodes = new List(); - - internal static Vector2 _scrollPosition = Vector2.zero; - - #endregion Fields - - #region Properties - - public override float TabButtonBarPercent - { - get - { - if ( Find.ResearchManager.currentProj != null ) - { - return Find.ResearchManager.currentProj.PercentComplete; - } - return 0; - } - } - - #endregion Properties - - #region Methods - - public override void DoWindowContents( Rect canvas ) - { - PrepareTreeForDrawing(); - DrawTree( canvas ); - } - - public void DrawTree( Rect canvas ) - { - // get total size of Research Tree - int maxDepth = 0, totalWidth = 0; - - if ( ResearchTree.ResearchTree.Trees.Any() ) - { - maxDepth = ResearchTree.ResearchTree.Trees.Max( tree => tree.MaxDepth ); - totalWidth = ResearchTree.ResearchTree.Trees.Sum( tree => tree.Width ); - } - - maxDepth = Math.Max( maxDepth, ResearchTree.ResearchTree.Orphanage.MaxDepth ); - totalWidth += ResearchTree.ResearchTree.Orphanage.Width; - - float width = ( maxDepth + 1 ) * ( Settings.NodeSize.x + Settings.NodeMargins.x ); // zero based - float height = totalWidth * ( Settings.NodeSize.y + Settings.NodeMargins.y ); - - // main view rect - Rect view = new Rect( 0f, 0f, width, height ); - Widgets.BeginScrollView( canvas, ref _scrollPosition, view ); - GUI.BeginGroup( view ); - - Text.Anchor = TextAnchor.MiddleCenter; - - // draw regular connections, not done first to better highlight done. - foreach ( Pair connection in connections.Where( pair => !pair.Second.Research.IsFinished ) ) - { - ResearchTree.ResearchTree.DrawLine( connection, connection.First.Tree.GreyedColor ); - } - - // draw connections from completed nodes - foreach ( Pair connection in connections.Where( pair => pair.Second.Research.IsFinished ) ) - { - ResearchTree.ResearchTree.DrawLine( connection, connection.First.Tree.MediumColor ); - } - connections.Clear(); - - // draw highlight connections on top - foreach ( Pair connection in highlightedConnections ) - { - ResearchTree.ResearchTree.DrawLine( connection, GenUI.MouseoverColor, true ); - } - highlightedConnections.Clear(); - - // draw nodes on top of lines - foreach ( Node node in nodes ) - { - node.Draw(); - } - nodes.Clear(); - - // register hub tooltips - foreach ( KeyValuePair> pair in hubTips ) - { - string text = string.Join( "\n", pair.Value.ToArray() ); - TooltipHandler.TipRegion( pair.Key, text ); - } - hubTips.Clear(); - - // draw Queue labels - Queue.DrawLabels(); - - // reset anchor - Text.Anchor = TextAnchor.UpperLeft; - - GUI.EndGroup(); - Widgets.EndScrollView(); - } - - public override void PreOpen() - { - base.PreOpen(); - - if ( !ResearchTree.ResearchTree.Initialized ) - { - // initialize tree - ResearchTree.ResearchTree.Initialize(); - } - - // set to topleft (for some reason vanilla alignment overlaps bottom buttons). - currentWindowRect.x = 0f; - currentWindowRect.y = 0f; - currentWindowRect.width = Screen.width; - currentWindowRect.height = Screen.height - 35f; - } - - private void PrepareTreeForDrawing() - { - // loop through trees - foreach ( ResearchTree.Tree tree in ResearchTree.ResearchTree.Trees ) - { - foreach ( Node node in tree.Trunk.Concat( tree.Leaves ) ) - { - nodes.Add( node ); - - foreach ( Node parent in node.Parents ) - { - connections.Add( new Pair( node, parent ) ); - } - } - } - - // add orphans - foreach ( Node node in ResearchTree.ResearchTree.Orphanage.Leaves ) - { - nodes.Add( node ); - - foreach ( Node parent in node.Parents ) - { - connections.Add( new Pair( node, parent ) ); - } - } - } - - #endregion Methods - } -} \ No newline at end of file diff --git a/DLL_Project/PostBuild.txt b/DLL_Project/PostBuild.txt deleted file mode 100644 index ac1b1e8..0000000 --- a/DLL_Project/PostBuild.txt +++ /dev/null @@ -1,36 +0,0 @@ -REM Copy this file to "PostBuild.bat" -REM This is a local file copy after build. Get it once and your .gitnore -REM should handle it after that. Make all your local copies at the end. - -REM Set this to your local RimWorld install path and CCL Assemblies directory -Set InstalledCCLAssemblies="/badkarma/" - -if NOT EXIST %InstalledCCLAssemblies% ( - echo Missing or invalid copy target: - echo %InstalledCCLAssemblies% - EXIT -1 -) - -echo Build Config: %1 -echo Build Target: %2 -echo Solution Path: %3 -echo CCL Install Path: %InstalledCCLAssemblies% - -echo Copy to RimWorld -copy %2 %InstalledCCLAssemblies% - -if %1 == Release ( - echo Copy to User Release - copy %2 "%3_Mod\User Release\Community Core Library\Assemblies" -) else ( - echo Copy to Modders Resource - copy %2 "%3_Mod\Modders Resource\Community Core Library\Assemblies" -) - -REM Add any other local copies here -REM See example below - -rem echo Copy to ModPile -rem copy %2 "C:\Utils\dev\Projects\ModPile\Source-DLLs" - -:Finished diff --git a/DLL_Project/ResearchTree/Detours.cs b/DLL_Project/ResearchTree/Detours.cs deleted file mode 100644 index 8196c4a..0000000 --- a/DLL_Project/ResearchTree/Detours.cs +++ /dev/null @@ -1,146 +0,0 @@ -using CommunityCoreLibrary; -using RimWorld; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; - -using UnityEngine; -using Verse; - -// ReSharper disable PossibleNullReferenceException -// reflection is dangerous - deal with it. Fluffy. - -// Fixed dangerous jump across instance classes. 1000101. - -namespace CommunityCoreLibrary.ResearchTree.Detour -{ - - internal static class _ResearchManager - { - - internal static FieldInfo __progress; - internal static FieldInfo __GlobalProgress; - - private static List storeQueue = null; - - internal static Dictionary _progress( this ResearchManager researchManager ) - { - if( __progress == null ) - { - __progress = typeof( ResearchManager ).GetField( "progress", BindingFlags.Instance | BindingFlags.NonPublic ); - } - return (Dictionary) __progress.GetValue( researchManager ); - } - - internal static float _GlobalProgress( this ResearchManager researchManager ) - { - if( __GlobalProgress == null ) - { - __GlobalProgress = typeof( ResearchManager ).GetField( "GlobalProgressFactor", BindingFlags.Instance | BindingFlags.NonPublic ); - } - return (float) __GlobalProgress.GetValue( researchManager ); - } - - /// - /// Override for Verse.ResearchMananager.MakeProgress - /// - /// Changes default pop-up when research is complete to an inbox message, and starts the next research in the queue - if available. - /// - /// - internal static void _MakeProgress( this ResearchManager researchManager, float amount ) - { - // get research manager instance - //ResearchManager researchManager = Find.ResearchManager; - - // get progress dictionary - var progress = researchManager._progress(); - - // get global progress constant - var globalProgressFactor = researchManager._GlobalProgress(); - - // make progress - if ( researchManager.currentProj == null ) - { - Log.Error( "Researched without having an active project." ); - } - else - { - amount *= globalProgressFactor; - if ( DebugSettings.fastResearch ) - { - amount *= 500f; - } - float curProgress = researchManager.ProgressOf( researchManager.currentProj ); - curProgress += amount; - progress[researchManager.currentProj] = curProgress; - - // do message if finished - if ( researchManager.currentProj.IsFinished ) - { - string label = "ResearchFinished".Translate( researchManager.currentProj.LabelCap ); - string text = "ResearchFinished".Translate( researchManager.currentProj.LabelCap ) + "\n\n" + researchManager.currentProj.DescriptionDiscovered; - - // remove from queue - Queue.Pop(); - - // if the completed research locks anything, notify it. - researchManager.currentProj.Node().Locks.ForEach( node => { node.Notify_LockedOut( true ); node.Notify_WillBeLockedOut( false ); } ); - - // if there's something on the queue start it, and push an appropriate message - if ( Queue.Count > 0 ) - { - researchManager.currentProj = Queue.First().Research; - text += "\n\nNext in queue: " + researchManager.currentProj.LabelCap; - Find.LetterStack.ReceiveLetter( label, text, LetterType.Good ); - } - else - { - researchManager.currentProj = null; - text += "\n\nNext in queue: none"; - Find.LetterStack.ReceiveLetter( label, text, LetterType.BadNonUrgent ); - } - - // apply research mods (Why this isn't being done in a targeted way I don't know, but it's core behaviour...) - researchManager.ReapplyAllMods(); - } - } - } - - internal static void _ExposeData( this ResearchManager researchManager ) - { - if( !ResearchTree.Initialized ) - { - // initialize tree - ResearchTree.Initialize(); - - } - - // get progress dictionary - var progress = researchManager._progress(); - - // Expose base data - Scribe_Defs.LookDef( ref researchManager.currentProj, "currentProj" ); - Scribe_Collections.LookDictionary( ref progress, "progress", LookMode.DefReference, LookMode.Value ); - - // Store research defs as these are the defining elements - if( Scribe.mode == LoadSaveMode.Saving ) - { - storeQueue = Queue.ToList(); - } - else if( storeQueue == null ) - { - storeQueue = new List(); - } - - Scribe_Collections.LookList( ref storeQueue, "Queue", LookMode.DefReference ); - - if( Scribe.mode == LoadSaveMode.PostLoadInit ) - { - Queue.FromList( storeQueue ); - } - } - - } - -} diff --git a/DLL_Project/ResearchTree/Node.cs b/DLL_Project/ResearchTree/Node.cs deleted file mode 100644 index 2d02549..0000000 --- a/DLL_Project/ResearchTree/Node.cs +++ /dev/null @@ -1,722 +0,0 @@ -// ResearchTree/Node.cs -// -// Copyright Karel Kroeze, 2015. -// -// Created 2015-12-28 17:55 - -using CommunityCoreLibrary; -using RimWorld; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using UnityEngine; -using Verse; - -namespace CommunityCoreLibrary.ResearchTree -{ - public enum LockedState - { - notLockedOut, - willBeLockedOut, - LockedOut - } - - public class Node - { - #region Fields - - public List Children = new List(); - public int Depth; - public string Genus; - public List Locks = new List(); - public List Parents = new List(); - public IntVec2 Pos; - public ResearchProjectDef Research; - public Tree Tree; - - private const float LabSize = 30f; - private const float Offset = 2f; - - private static MainTabWindow_ModHelp _helpWindow = DefDatabase.GetNamed( "CCL_ModHelp", false ).Window as MainTabWindow_ModHelp; - - private bool _isLockedOut = false, - _willBeLockedOut = false; - - private bool _largeLabel = false; - private Vector2 _left = Vector2.zero; - - private Rect _queueRect, - _rect, - _labelRect, - _costLabelRect, - _costIconRect, - _iconsRect; - - private bool _rectSet; - private Vector2 _right = Vector2.zero; - - #endregion Fields - - #region Constructors - - public Node( ResearchProjectDef research ) - { - Research = research; - - // get the Genus, this is the research family name, and will be used to group research together. - // First see if we have a ":" in the name - List parts = research.LabelCap.Split( ":".ToCharArray() ).ToList(); - if ( parts.Count > 1 ) - { - Genus = parts.First(); - } - else - { - parts = research.LabelCap.Split( " ".ToCharArray() ).ToList(); - - // otherwise, strip the last word (intended to catch 1,2,3/ I,II,III,IV suffixes) - if ( parts.Count > 1 ) - { - parts.Remove( parts.Last() ); - } - Genus = string.Join( " ", parts.ToArray() ); - } - Parents = new List(); - Children = new List(); - } - - #endregion Constructors - - #region Properties - - public Rect CostIconRect - { - get - { - if ( !_rectSet ) - { - CreateRects(); - } - return _costIconRect; - } - } - - public Rect CostLabelRect - { - get - { - if ( !_rectSet ) - { - CreateRects(); - } - return _costLabelRect; - } - } - - public Rect IconsRect - { - get - { - if ( !_rectSet ) - { - CreateRects(); - } - return _iconsRect; - } - } - - public Rect LabelRect - { - get - { - if ( !_rectSet ) - { - CreateRects(); - } - return _labelRect; - } - } - - /// - /// Middle of left node edge - /// - public Vector2 Left - { - get - { - if ( _left == Vector2.zero ) - { - _left = new Vector2( Pos.x * ( Settings.NodeSize.x + Settings.NodeMargins.x ) + Offset, - Pos.z * ( Settings.NodeSize.y + Settings.NodeMargins.y ) + Offset + Settings.NodeSize.y / 2 ); - } - return _left; - } - } - - public LockedState LockedState - { - get - { - if ( _isLockedOut ) - return LockedState.LockedOut; - if ( _willBeLockedOut ) - return LockedState.willBeLockedOut; - return LockedState.notLockedOut; - } - } - - /// - /// Tag UI Rect - /// - public Rect QueueRect - { - get - { - if ( !_rectSet ) - { - CreateRects(); - } - return _queueRect; - } - } - - /// - /// Static UI rect for this node - /// - public Rect Rect - { - get - { - if ( !_rectSet ) - { - CreateRects(); - } - return _rect; - } - } - - /// - /// Middle of right node edge - /// - public Vector2 Right - { - get - { - if ( _right == Vector2.zero ) - { - _right = new Vector2( Pos.x * ( Settings.NodeSize.x + Settings.NodeMargins.x ) + Offset + Settings.NodeSize.x, - Pos.z * ( Settings.NodeSize.y + Settings.NodeMargins.y ) + Offset + Settings.NodeSize.y / 2 ); - } - return _right; - } - } - - #endregion Properties - - #region Methods - - /// - /// Determine the closest tree by moving along parents and then children until a tree has been found. Returns first tree encountered, or NULL. - /// - /// - public Tree ClosestTree() - { - // go up through all Parents until we find a parent that is in a Tree - Queue parents = new Queue(); - parents.Enqueue( this ); - - while ( parents.Count > 0 ) - { - Node current = parents.Dequeue(); - if ( current.Tree != null ) - { - return current.Tree; - } - - // otherwise queue up the Parents to be checked - foreach ( Node parent in current.Parents ) - { - parents.Enqueue( parent ); - } - } - - // if that didn't work, try seeing if a child is in a Tree (unlikely, but whateva). - Queue children = new Queue(); - children.Enqueue( this ); - - while ( children.Count > 0 ) - { - Node current = children.Dequeue(); - if ( current.Tree != null ) - { - return current.Tree; - } - - // otherwise queue up the Children to be checked. - foreach ( Node child in current.Children ) - { - children.Enqueue( child ); - } - } - - // finally, if nothing stuck, return null - return null; - } - - /// - /// Set all prerequisites as parents of this node, and for each parent set this node as a child. - /// - public void CreateLinks() - { - // 'vanilla' prerequisites - foreach ( ResearchProjectDef prerequisite in Research.prerequisites ) - { - if ( prerequisite != Research ) - { - var parent = ResearchTree.Forest.FirstOrDefault( node => node.Research == prerequisite ); - if ( parent != null ) - { - Parents.Add( parent ); - } - } - } - - // CCL advanced research, inclusive unlocks. - foreach ( AdvancedResearchDef ard in DefDatabase.AllDefsListForReading - .Where( ard => ard.IsResearchToggle && - !ard.HideDefs && - ard.effectedResearchDefs.Contains( Research ) ) ) - { - foreach ( ResearchProjectDef prerequisite in ard.researchDefs ) - { - if ( prerequisite != Research ) - { - var parent = ResearchTree.Forest.FirstOrDefault( node => node.Research == prerequisite ); - if ( parent != null ) - { - Parents.Add( parent ); - } - } - } - } - - // CCL advanced research, locks. - foreach ( AdvancedResearchDef ard in DefDatabase.AllDefsListForReading - .Where( ard => ard.IsResearchToggle && - ard.HideDefs && - ard.researchDefs.Contains( Research ) ) ) - { - foreach ( ResearchProjectDef locked in ard.effectedResearchDefs ) - { - if ( locked != Research ) - { - var lockedNode = ResearchTree.Forest.FirstOrDefault( node => node.Research == locked ); - if ( lockedNode != null ) - { - Locks.Add( lockedNode ); - } - } - } - } - - foreach ( Node parent in Parents ) - { - parent.Children.Add( this ); - } - } - -#if DEVELOPER - /// - /// Prints debug information. - /// - public string Debug() - { - StringBuilder text = new StringBuilder(); - text.AppendLine( Research.LabelCap + " (" + Depth + ", " + Genus + "):" ); - text.AppendLine( "- Parents" ); - foreach ( Node parent in Parents ) - { - text.AppendLine( "-- " + parent.Research.LabelCap ); - } - text.AppendLine( "- Children" ); - foreach ( Node child in Children ) - { - text.AppendLine( "-- " + child.Research.LabelCap ); - } - text.AppendLine( "" ); - return text.ToString(); - } -#endif - - /// - /// Draw the node, including interactions. - /// - public void Draw() - { - // set color - GUI.color = !Research.ResearchPrereqsFulfilled ? Tree.GreyedColor : Tree.MediumColor; - if ( LockedState == LockedState.LockedOut ) - GUI.color = new Color( .4f, .4f, .4f ); - bool prereqLocks = false; - - // cop out if off-screen - Rect screen = new Rect( MainTabWindow_ResearchTree._scrollPosition.x, MainTabWindow_ResearchTree._scrollPosition.y, Screen.width, Screen.height - 35 ); - if ( Rect.xMin > screen.xMax || - Rect.xMax < screen.xMin || - Rect.yMin > screen.yMax || - Rect.yMax < screen.yMin ) - { - return; - } - - // mouseover highlights - if ( Mouse.IsOver( Rect ) && LockedState != LockedState.LockedOut ) - { - // active button - GUI.DrawTexture( Rect, ResearchTree.ButtonActive ); - - // highlight this and all prerequisites if research not completed - if ( !Research.IsFinished ) - { - List prereqs = GetMissingRequiredRecursive(); - Highlight( GenUI.MouseoverColor, true, false ); - if ( !Locks.NullOrEmpty() ) - { - foreach ( Node locked in Locks ) - { - locked.Highlight( Color.red, false, true ); - } - } - foreach ( Node prerequisite in prereqs ) - { - prerequisite.Highlight( GenUI.MouseoverColor, true, false ); - if ( !prerequisite.Locks.NullOrEmpty() ) - { - prereqLocks = true; - foreach ( Node locked in prerequisite.Locks ) - { - locked.Highlight( Color.red, false, false ); - } - } - } - } - else // highlight followups - { - foreach ( Node child in Children ) - { - MainTabWindow_ResearchTree.highlightedConnections.Add( new Pair( this, child ) ); - child.Highlight( GenUI.MouseoverColor, false, false ); - - if ( !child.Locks.NullOrEmpty() ) - { - foreach ( Node locked in child.Locks ) - { - locked.Highlight( Color.red, false, false ); - } - } - } - } - } - // if not moused over, just draw the default button state - else - { - GUI.DrawTexture( Rect, ResearchTree.Button ); - } - - // grey out center to create a progress bar effect, completely greying out research not started. - if ( !Research.IsFinished && LockedState != LockedState.LockedOut ) - { - Rect progressBarRect = Rect.ContractedBy( 2f ); - GUI.color = Tree.GreyedColor; - progressBarRect.xMin += Research.PercentComplete * progressBarRect.width; - GUI.DrawTexture( progressBarRect, BaseContent.WhiteTex ); - } - - // draw the research label - GUI.color = Color.white; - Text.Anchor = TextAnchor.UpperLeft; - Text.WordWrap = false; - Text.Font = _largeLabel ? GameFont.Tiny : GameFont.Small; - Widgets.Label( LabelRect, Research.LabelCap ); - - // draw research cost and icon - Text.Anchor = TextAnchor.UpperRight; - Text.Font = GameFont.Small; - if ( LockedState == LockedState.LockedOut ) - { - Widgets.Label( CostLabelRect, "Fluffy.ResearchTree.LockedOut".Translate() ); - } - else - { - Widgets.Label( CostLabelRect, Research.totalCost.ToStringByStyle( ToStringStyle.Integer ) ); - GUI.DrawTexture( CostIconRect, ResearchTree.ResearchIcon ); - } - Text.WordWrap = true; - - // attach description and further info to a tooltip - TooltipHandler.TipRegion( Rect, GetResearchTooltipString() ); // new TipSignal( GetResearchTooltipString(), Settings.TipID ) ); - - // draw unlock icons - List> unlocks = Research.GetUnlockDefsAndDescs(); - for ( int i = 0; i < unlocks.Count; i++ ) - { - Rect iconRect = new Rect( IconsRect.xMax - ( i + 1 ) * ( Settings.IconSize.x + 4f ), - IconsRect.yMin + ( IconsRect.height - Settings.IconSize.y ) / 2f, - Settings.IconSize.x, - Settings.IconSize.y ); - - if ( iconRect.xMin - Settings.IconSize.x < IconsRect.xMin && - i + 1 < unlocks.Count ) - { - // stop the loop if we're about to overflow and have 2 or more unlocks yet to print. - iconRect.x = IconsRect.x + 4f; - ResearchTree.MoreIcon.DrawFittedIn( iconRect ); - string tip = string.Join( "\n", unlocks.GetRange( i, unlocks.Count - i ).Select( p => p.Second ).ToArray() ); - TooltipHandler.TipRegion( iconRect, tip ); // new TipSignal( tip, Settings.TipID, TooltipPriority.Pawn ) ); - break; - } - - // draw icon - unlocks[i].First.DrawColouredIcon( iconRect ); - - // tooltip - TooltipHandler.TipRegion( iconRect, unlocks[i].Second ); // new TipSignal( unlocks[i].Second, Settings.TipID, TooltipPriority.Pawn ) ); - } - - // draw a big warning label if about to be locked. - if ( LockedState == LockedState.willBeLockedOut ) - { - Color color = GUI.color; - GUI.color = Color.red; - GUI.DrawTexture( Rect, ResearchTree.WarningIcon, ScaleMode.ScaleToFit ); - GUI.color = color; - } - - // if clicked and not yet finished, queue up this research and all prereqs. - if ( LockedState != LockedState.LockedOut && Widgets.InvisibleButton( Rect ) ) - { - // LMB is queue operations, RMB is info - if ( Event.current.button == 0 && !Research.IsFinished ) - { - if ( !Queue.IsQueued( this ) ) - { - if ( prereqLocks ) - { - foreach ( Node node in GetMissingRequiredRecursive() ) - { - if ( !node.Locks.NullOrEmpty() && !( Event.current.shift && Queue.IsQueued( node ) ) ) - { - Messages.Message( "Fluffy.ResearchTree.CannotQueueXLocksY".Translate( node.Research.LabelCap, - string.Join( ", ", node.Locks.Select( n => n.Research.LabelCap ).ToArray() ) ) + " " + - "Fluffy.ResearchTree.CannotQueueOneByOne".Translate(), - MessageSound.RejectInput ); - return; - } - } - } - // if shift is held, add to queue, otherwise replace queue - Queue.EnqueueRange( GetMissingRequiredRecursive().Concat( new List( new[] { this } ) ), Event.current.shift ); - } - else - { - Queue.Dequeue( this ); - } - } - else if ( Event.current.button == 1 ) - { - // right click links to CCL help def. - _helpWindow.JumpTo( Research.GetHelpDef() ); - } - } - } - - /// - /// Get recursive list of all incomplete prerequisites - /// - /// List prerequisites - public List GetMissingRequiredRecursive() - { - List parents = new List( Parents.Where( node => !node.Research.IsFinished ) ); - List allParents = new List( parents ); - foreach ( Node current in parents ) - { - if ( current.LockedState != LockedState.LockedOut ) - { - // check advanced researches - List advancedResearches = Controller.Data.AdvancedResearchDefs.Where( ard => ( - ( ard.IsResearchToggle )&& - ( !ard.IsLockedOut() )&& - ( !ard.HideDefs )&& - ( ard.effectedResearchDefs.Contains( current.Research ) ) - ) ).ToList(); - - if ( !advancedResearches.NullOrEmpty() ) - { - Dictionary> options = new Dictionary>(); - foreach ( ResearchProjectDef option in advancedResearches.SelectMany( ard => ard.researchDefs ).Where( rd => rd.Node() != null ) ) - { - options.Add( option.Node(), option.Node().GetMissingRequiredRecursive() ); - } - allParents.AddRange( options.MinBy( option => option.Value.Count ).Value ); - } - else - { - allParents.AddRange( current.GetMissingRequiredRecursive() ); - } - } - } - return allParents.Distinct().ToList(); - } - - /// - /// Draw highlights around node, and optionally highlight links to parents/children of this node. - /// - /// color to use - /// should links to parents be drawn? - /// should links to children be drawn? - public void Highlight( Color color, bool linkParents, bool linkChildren ) - { - GUI.color = color; - Widgets.DrawBox( Rect.ContractedBy( -2f ), 2 ); - GUI.color = Color.white; - if ( linkParents ) - { - foreach ( Node parent in Parents ) - { - MainTabWindow_ResearchTree.highlightedConnections.Add( new Pair( parent, this ) ); - } - } - if ( linkChildren ) - { - foreach ( Node child in Children ) - { - MainTabWindow_ResearchTree.highlightedConnections.Add( new Pair( this, child ) ); - } - } - } - - public void Notify_LockedOut( bool state ) - { - _isLockedOut = state; - Research.ExclusiveDescendants().Select( res => res.Node() ).ToList().ForEach( node => node.Notify_LockedOut( state ) ); - } - - public void Notify_WillBeLockedOut( bool state ) - { - _willBeLockedOut = state; - Research.ExclusiveDescendants().Select( res => res.Node() ).ToList().ForEach( node => node.Notify_WillBeLockedOut( state ) ); - } - - /// - /// Recursively determine the depth of this node. - /// - public void SetDepth() - { - List level = new List(); - level.Add( this ); - while ( level.Count > 0 && - level.Any( node => node.Parents.Count > 0 ) ) - { - // has any parent, increment level. - Depth++; - - // set level to next batch of distinct Parents, where Parents may not be itself. - level = level.SelectMany( node => node.Parents ).Distinct().Where( node => node != this ).ToList(); - - // stop infinite recursion with loops of size greater than 2 - if ( Depth > 100 ) - { - Log.Error( Research.LabelCap + - " has more than 100 levels of prerequisites. Is the Research Tree defined as a loop?" ); - } - } - } - - public override string ToString() - { - return this.Research.LabelCap + this.Pos; - } - - private void CreateRects() - { - // main rect - _rect = new Rect( Pos.x * ( Settings.NodeSize.x + Settings.NodeMargins.x ) + Offset, - Pos.z * ( Settings.NodeSize.y + Settings.NodeMargins.y ) + Offset, - Settings.NodeSize.x, - Settings.NodeSize.y ); - - // queue rect - _queueRect = new Rect( _rect.xMax - LabSize / 2f, - _rect.yMin + ( _rect.height - LabSize ) / 2f, - LabSize, - LabSize ); - - // label rect - _labelRect = new Rect( _rect.xMin + 6f, - _rect.yMin + 3f, - _rect.width * 2f / 3f - 6f, - _rect.height * .5f - 3f ); - - // research cost rect - _costLabelRect = new Rect( _rect.xMin + _rect.width * 2f / 3f, - _rect.yMin + 3f, - _rect.width * 1f / 3f - 16f - 3f, - _rect.height * .5f - 3f ); - - // research icon rect - _costIconRect = new Rect( _costLabelRect.xMax, - _rect.yMin + ( _costLabelRect.height - 16f ) / 2, - 16f, - 16f ); - - // icon container rect - _iconsRect = new Rect( _rect.xMin, - _rect.yMin + _rect.height * .5f, - _rect.width, - _rect.height * .5f ); - - // see if the label is too big - _largeLabel = Text.CalcHeight( Research.LabelCap, _labelRect.width ) > _labelRect.height; - - // done - _rectSet = true; - } - - /// - /// Creates text version of research description and additional unlocks/prereqs/etc sections. - /// - /// string description - private string GetResearchTooltipString() - { - // start with the descripton - StringBuilder text = new StringBuilder(); - text.AppendLine( Research.description ); - text.AppendLine(); - - if ( LockedState != LockedState.LockedOut ) - { - if ( LockedState == LockedState.willBeLockedOut ) - { - text.AppendLine( "Fluffy.ResearchTree.WillBeLockedOut".Translate() ); - } - if ( Queue.IsQueued( this ) ) - { - text.AppendLine( "Fluffy.ResearchTree.LClickRemoveFromQueue".Translate() ); - } - else - { - text.AppendLine( "Fluffy.ResearchTree.LClickReplaceQueue".Translate() ); - text.AppendLine( "Fluffy.ResearchTree.SLClickAddToQueue".Translate() ); - } - text.AppendLine( "Fluffy.ResearchTree.RClickForDetails".Translate() ); - } - else - { - text.AppendLine( "Fluffy.ResearchTree.LockedOut".Translate().ToUpper() ); - } - return text.ToString(); - } - - #endregion Methods - } -} \ No newline at end of file diff --git a/DLL_Project/ResearchTree/Queue.cs b/DLL_Project/ResearchTree/Queue.cs deleted file mode 100644 index 0e828d4..0000000 --- a/DLL_Project/ResearchTree/Queue.cs +++ /dev/null @@ -1,237 +0,0 @@ -using CommunityCoreLibrary; -using RimWorld; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using UnityEngine; -using Verse; - -// ReSharper disable PossibleNullReferenceException -// reflection is dangerous - deal with it. Fluffy. - -// Moved dangerous cross-instance class jump to it's own detour class. -// Created required static methods to perform the same access. 1000101. - -namespace CommunityCoreLibrary.ResearchTree -{ - public static class Queue - { - #region Internal Fields - - internal static readonly Texture2D CircleFill = ContentFinder.Get("UI/ResearchTree/circle-fill"); - - #endregion Internal Fields - - #region Private Fields - - private static readonly List _queue = new List(); - - #endregion Private Fields - - #region Public Properties - - public static int Count - { - get - { - return _queue.Count; - } - } - - #endregion Public Properties - - #region Public Methods - - public static void Dequeue( Node node ) - { - _queue.Remove( node ); - List followUps = _queue.Where( n => n.GetMissingRequiredRecursive().Contains( node ) ).ToList(); - foreach ( Node followUp in followUps ) - { - _queue.Remove( followUp ); - } - } - - public static void DrawLabels() - { - int i = 1; - foreach ( Node node in _queue ) - { - // draw coloured tag - GUI.color = node.Tree.MediumColor; - GUI.DrawTexture( node.QueueRect, CircleFill ); - - // if this is not first in line, grey out centre of tag - if ( i > 1 ) - { - GUI.color = node.Tree.GreyedColor; - GUI.DrawTexture( node.QueueRect.ContractedBy( 2f ), CircleFill ); - } - - // draw queue number - GUI.color = Color.white; - Text.Anchor = TextAnchor.MiddleCenter; - Widgets.Label( node.QueueRect, i++.ToString() ); - Text.Anchor = TextAnchor.UpperLeft; - } - } - - public static void Enqueue( Node node, bool add ) - { - // if we're not adding, clear the current queue and current research project - if ( !add ) - { - NotifyAll(); - _queue.Clear(); - Find.ResearchManager.currentProj = null; - } - else - { - foreach ( Node queuedNode in _queue ) - { - if ( queuedNode.Locks.Contains( node ) ) - { - Messages.Message( "Fluffy.ResearchTree.CannotQueueXLocksY".Translate( - "Fluffy.ResearchTree.QueuedNode".Translate() + " " + queuedNode.Research.LabelCap, - node.Research.LabelCap ) + " " + - "Fluffy.ResearchTree.CannotQueueDequeue".Translate(), - MessageSound.RejectInput ); - return; - } - if ( node.Locks.Contains( queuedNode ) && !_queue.Contains( node ) ) - { - Messages.Message( "Fluffy.ResearchTree.CannotQueueXLocksY".Translate( - node.Research.LabelCap, - "Fluffy.ResearchTree.QueuedNode".Translate() + " " + queuedNode.Research.LabelCap ) + " " + - "Fluffy.ResearchTree.CannotQueueDequeue".Translate(), - MessageSound.RejectInput ); - return; - } - } - } - - // add to the queue if not already in it - if ( !_queue.Contains( node ) ) - { - node.Locks.ForEach( n => n.Notify_WillBeLockedOut( true ) ); - _queue.Add( node ); - } - - // try set the first research in the queue to be the current project. - Node next = _queue.First(); - if ( - ( next != null )&& - ( next.Research != null ) - ) - { - Find.ResearchManager.currentProj = next.Research; // null if next is null. - } - else - { - Find.ResearchManager.currentProj = null; - } - } - - public static void EnqueueRange( IEnumerable nodes, bool add ) - { - // clear current Queue if not adding - if ( !add ) - { - NotifyAll(); - _queue.Clear(); - Find.ResearchManager.currentProj = null; - } - else - { - foreach ( Node queuedNode in _queue ) - { - foreach ( Node newNode in nodes ) - { - if ( queuedNode.Locks.Contains( newNode ) ) - { - Messages.Message( "Fluffy.ResearchTree.CannotQueueXLocksY".Translate( - "Fluffy.ResearchTree.QueuedNode".Translate() + " " + queuedNode.Research.LabelCap, - newNode.Research.LabelCap ) + " " + - "Fluffy.ResearchTree.CannotQueueDequeue".Translate(), - MessageSound.RejectInput ); - return; - } - if ( newNode.Locks.Contains( queuedNode ) && !_queue.Contains( newNode ) ) - { - Messages.Message( "Fluffy.ResearchTree.CannotQueueXLocksY".Translate( - newNode.Research.LabelCap, - "Fluffy.ResearchTree.QueuedNode".Translate() + " " + queuedNode.Research.LabelCap ) + " " + - "Fluffy.ResearchTree.CannotQueueDequeue".Translate(), - MessageSound.RejectInput ); - return; - } - } - } - } - - // sorting by depth ensures prereqs are met - cost is just a bonus thingy. - foreach ( Node node in nodes.OrderBy( node => node.Depth ).ThenBy( node => node.Research.totalCost ) ) - { - Enqueue( node, true ); - } - Node first = _queue.First(); - Find.ResearchManager.currentProj = first?.Research; - } - - public static Node First() - { - return _queue.First(); - } - - public static void FromList( List loadQueue ) - { - // initialize the queue - foreach ( ResearchProjectDef research in loadQueue ) - { - // find a node that matches the research - or null if none found - Node node = ResearchTree.Forest.FirstOrDefault( n => n.Research == research ); - - // enqueue the node - if ( node != null ) - { - Enqueue( node, true ); - } - } - } - - public static bool IsQueued( Node node ) - { - return _queue.Contains( node ); - } - - public static void NotifyAll() - { - foreach ( Node node in _queue ) - { - node.Locks.ForEach( n => n.Notify_WillBeLockedOut( false ) ); - } - } - - /// - /// Removes and returns the first node in the queue. - /// - /// - public static Node Pop() - { - if ( !_queue.NullOrEmpty() ) - { - Node node = _queue[0]; - _queue.RemoveAt( 0 ); - return node; - } - return null; - } - - public static List ToList() - { - return _queue.Select( node => node.Research ).ToList(); - } - - #endregion Public Methods - } -} \ No newline at end of file diff --git a/DLL_Project/ResearchTree/ResearchTree.cs b/DLL_Project/ResearchTree/ResearchTree.cs deleted file mode 100644 index 77277ce..0000000 --- a/DLL_Project/ResearchTree/ResearchTree.cs +++ /dev/null @@ -1,536 +0,0 @@ -// ResearchTree/ResearchTree.cs -// -// Copyright Karel Kroeze, 2015. -// -// Created 2015-12-21 13:45 -// -// Note: CCL is using unlicense which invalidates copyright - 1000101 - -using CommunityCoreLibrary.ColorPicker; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -using UnityEngine; -using Verse; - -namespace CommunityCoreLibrary.ResearchTree -{ - // TODO: Needs static constructor to fetch textures - public static class ResearchTree - { - #region Public Fields - - public static Texture2D Button = ContentFinder.Get( "UI/ResearchTree/button" ); - public static Texture2D ButtonActive = ContentFinder.Get( "UI/ResearchTree/button-active" ); - public static Texture2D Circle = ContentFinder.Get( "UI/ResearchTree/circle" ); - public static Texture2D End = ContentFinder.Get( "UI/ResearchTree/end" ); - public static Texture2D EW = ContentFinder.Get( "UI/ResearchTree/ew" ); - public static List Forest; - public static bool Initialized; - public static Texture2D MoreIcon = ContentFinder.Get( "UI/ResearchTree/more" ); - public static Texture2D NS = ContentFinder.Get( "UI/ResearchTree/ns" ); - public static IntVec2 OrphanDepths; - public static Tree Orphanage; - public static int OrphanWidth; - public static Texture2D ResearchIcon = ContentFinder.Get( "UI/ResearchTree/Research" ); - public static List Trees; - public static Texture2D WarningIcon = ContentFinder.Get( "UI/ResearchTree/warning_shield" ); - - #endregion Public Fields - - #region Public Methods - - public static void DrawLine( Pair connection, Color color, bool reverseDirection = false ) - { - Vector2 a, b; - - if ( reverseDirection ) - { - a = connection.First.Right; - b = connection.Second.Left; - } - else - { - a = connection.First.Left; - b = connection.Second.Right; - } - - GUI.color = color; - bool isHubLink = false; - - Vector2 left, right; - // make sure line goes left -> right - if ( a.x < b.x ) - { - left = a; - right = b; - } - else - { - left = b; - right = a; - } - - // if left and right are on the same level, just draw a straight line. - if ( Math.Abs( left.y - right.y ) < 0.1f ) - { - Rect line = new Rect( left.x, left.y - 2f, right.x - left.x, 4f ); - GUI.DrawTexture( line, EW ); - } - - // draw three line pieces and two curves. - else - { - // determine top and bottom y positions - float top = Math.Min( left.y, right.y ) + Settings.NodeMargins.x / 4f; - float bottom = Math.Max( left.y, right.y ) - Settings.NodeMargins.x / 4f; - - // if these positions are more than X nodes apart, draw an invisible 'hub' link. - if ( Math.Abs( top - bottom ) > Settings.LineMaxLengthNodes * Settings.NodeSize.y ) - { - isHubLink = true; - - // left to hub - Rect leftToHub = new Rect( left.x, left.y + 15f, Settings.NodeMargins.x / 4f, 4f ); - GUI.DrawTexture( leftToHub, EW ); - - // hub to right - Rect hubToRight = new Rect( right.x - Settings.NodeMargins.x / 4f, right.y + 15f, Settings.NodeMargins.x / 4f, 4f ); - GUI.DrawTexture( hubToRight, EW ); - - // left hub - Rect hub = new Rect( left.x + Settings.NodeMargins.x / 4f - Settings.HubSize / 2f, - left.y + 17f - Settings.HubSize / 2f, - Settings.HubSize, - Settings.HubSize ); - GUI.DrawTexture( hub, Queue.CircleFill ); - - // add tooltip - if ( !MainTabWindow_ResearchTree.hubTips.ContainsKey( hub ) ) - { - MainTabWindow_ResearchTree.hubTips.Add( hub, new List() ); - MainTabWindow_ResearchTree.hubTips[hub].Add( "Fluffy.ResearchTree.LeadsTo".Translate() ); - } - MainTabWindow_ResearchTree.hubTips[hub].Add( connection.First.Research.LabelCap ); - - // right hub - hub.position = new Vector2( right.x - Settings.NodeMargins.x / 4f - Settings.HubSize / 2f, - right.y + 17f - Settings.HubSize / 2f ); - GUI.DrawTexture( hub, Queue.CircleFill ); - - // add tooltip - if ( !MainTabWindow_ResearchTree.hubTips.ContainsKey( hub ) ) - { - MainTabWindow_ResearchTree.hubTips.Add( hub, new List() ); - MainTabWindow_ResearchTree.hubTips[hub].Add( "Fluffy.ResearchTree.Requires".Translate() ); - } - MainTabWindow_ResearchTree.hubTips[hub].Add( connection.Second.Research.LabelCap ); - } - // but when nodes are close together, just draw the link as usual. - else - { - // left to curve - Rect leftToCurve = new Rect( left.x, left.y - 2f, Settings.NodeMargins.x / 4f, 4f ); - GUI.DrawTexture( leftToCurve, EW ); - - // curve to curve - Rect curveToCurve = new Rect( left.x + Settings.NodeMargins.x / 2f - 2f, top, 4f, bottom - top ); - GUI.DrawTexture( curveToCurve, NS ); - - // curve to right - Rect curveToRight = new Rect( left.x + Settings.NodeMargins.x / 4f * 3, right.y - 2f, right.x - left.x - Settings.NodeMargins.x / 4f * 3, 4f ); - GUI.DrawTexture( curveToRight, EW ); - - // curve positions - Rect curveLeft = new Rect( left.x + Settings.NodeMargins.x / 4f, left.y - Settings.NodeMargins.x / 4f, Settings.NodeMargins.x / 2f, Settings.NodeMargins.x / 2f ); - Rect curveRight = new Rect( left.x + Settings.NodeMargins.x / 4f, right.y - Settings.NodeMargins.x / 4f, Settings.NodeMargins.x / 2f, Settings.NodeMargins.x / 2f ); - - // going down - if ( left.y < right.y ) - { - GUI.DrawTextureWithTexCoords( curveLeft, Circle, new Rect( 0.5f, 0.5f, 0.5f, 0.5f ) ); // bottom right quadrant - GUI.DrawTextureWithTexCoords( curveRight, Circle, new Rect( 0f, 0f, 0.5f, 0.5f ) ); // top left quadrant - } - // going up - else - { - GUI.DrawTextureWithTexCoords( curveLeft, Circle, new Rect( 0.5f, 0f, 0.5f, 0.5f ) ); // top right quadrant - GUI.DrawTextureWithTexCoords( curveRight, Circle, new Rect( 0f, 0.5f, 0.5f, 0.5f ) ); // bottom left quadrant - } - } - } - - // draw the end arrow (if not hub link) - Rect end = new Rect( right.x - 16f, right.y - 8f, 16f, 16f ); - - if ( !isHubLink ) - GUI.DrawTexture( end, End ); - - // reset color - GUI.color = Color.white; - } - - private static void FixPositions() - { - int curY = 0; - - foreach ( Tree tree in Trees ) - { - tree.StartY = curY; - - foreach ( Node node in tree.Trunk ) - { - int bestPos = curY; - - // trunks can have (but shouldn't have) more than one node at each depth. - while ( tree.Trunk.Any( otherNode => otherNode.Pos.z == bestPos && otherNode.Depth == node.Depth ) ) - { - bestPos++; - } - node.Pos = new IntVec2( node.Depth, bestPos ); - - // extend tree width if necessary - tree.Width = Math.Max( tree.Width, bestPos - curY + 1 ); - } - - // position child nodes as close to their parents as possible - for ( int x = tree.MinDepth; x <= tree.MaxDepth; x++ ) - { - // put nodes that are children of the trunk first. - List nodes = tree.NodesAtDepth( x ).OrderBy( node => node.Parents.Any( parent => node.Tree.Trunk.Contains( parent ) ) ? 0 : 1 ).ToList(); - List allNodesAtCurrentDepth = tree.NodesAtDepth( x, true ); - - foreach ( Node node in nodes ) - { - // try find the closest matching position, default to right below trunk - int bestPos = curY + 1; - - // if we have any parent research in this trunk, try to get positioned next to it. - if ( node.Parents.Any( parent => parent.Tree == node.Tree ) ) - bestPos = node.Parents.Where( parent => parent.Tree == node.Tree ).Select( parent => parent.Pos.z ).Min(); - - // bump down if taken by any node in tree - while ( allNodesAtCurrentDepth.Any( n => n.Pos.z == bestPos ) || bestPos == curY ) - bestPos++; - - // extend tree width if necessary - tree.Width = Math.Max( tree.Width, bestPos - tree.StartY + 1 ); - - // set position - node.Pos = new IntVec2( node.Depth, bestPos ); - } - } - - // sort all nodes by their depths, then by their z position. - if ( !tree.Leaves.NullOrEmpty() ) - { - tree.Leaves = tree.Leaves.OrderBy( node => node.Depth ).ThenBy( node => node.Pos.z ).ToList(); - } - - // do a reverse pass to position parent nodes next to their children - for ( int x = tree.MaxDepth; x >= tree.MinDepth; x-- ) - { - Queue nodes = new Queue( tree.NodesAtDepth( x ) ); - List allNodesAtCurrentDepth = tree.NodesAtDepth( x, true ); - Dictionary switched = new Dictionary(); - - while ( nodes.Count > 0 ) - { - Node node = nodes.Dequeue(); - - // if this node has non-trunk children in the same tree; - var children = node.Children.Where( child => child.Tree == node.Tree && - !child.Tree.Trunk.Contains( child ) ); - if ( children.Count() > 0 ) - { - // ideal position would be right next to top child, but we won't allow it to go out of tree bounds - Node topChild = children.OrderBy( child => child.Pos.z ).First(); - int bestPos = Math.Max( topChild.Pos.z, node.Tree.StartY + 1 ); - - // keep checking until we have a decent position - // if that is indeed the current position, great, move to next - if ( bestPos == node.Pos.z ) - continue; - - // otherwise, check if position is taken by any node, or if the new position falls outside of tree bounds (exclude this node itself from matches) - while ( allNodesAtCurrentDepth.Any( n => n.Pos.z == bestPos && n != node ) ) - { - // do we have a child at this location, and does the node at that position not have the same child? - Node otherNode = allNodesAtCurrentDepth.First( n => n.Pos.z == bestPos && n != node ); - if ( bestPos == topChild.Pos.z && - !otherNode.Children.Contains( topChild ) ) - { - // if not, switch the nodes and re-do the other node. - if ( !switched.ContainsKey( node ) ) - { - switched.Add( node, 0 ); - } - if ( switched[node] < 5 ) - { - //Log.Message( "switched " + node.Research.LabelCap + "(" + node.Pos.z + ") and " + otherNode.Research.LabelCap + "(" + otherNode.Pos.z + ")" ); - otherNode.Pos.z = node.Pos.z; - nodes.Enqueue( otherNode ); - switched[node]++; - continue; - } - } - // or just bump it down otherwise - bestPos++; - } - - // we should now have a decent position - // extend tree width if necessary - tree.Width = Math.Max( tree.Width, bestPos - tree.StartY + 1 ); - - // set position - node.Pos = new IntVec2( node.Depth, bestPos ); - } - } - } - curY += tree.Width; - } - - // deal with non-tree nodes - // try and get root nodes first - IEnumerable roots = Orphanage.Leaves.Where( node => node.Children.Any() && !node.Parents.Any() ).OrderBy( node => node.Depth ); - int rootYOffset = 0; - - foreach ( Node root in roots ) - { - // set position - root.Pos = new IntVec2( root.Depth, curY + rootYOffset ); - - // recursively go through all children - // width at depths - Dictionary widthAtDepth = new Dictionary(); - Stack children = new Stack( root.Children ); - while ( children.Any() ) - { - // get node - Node child = children.Pop(); - - // get width at current depth - int width; - if ( !widthAtDepth.ContainsKey( child.Depth ) ) - { - widthAtDepth.Add( child.Depth, 0 ); - } - width = widthAtDepth[child.Depth]++; - - // continue if already positioned - if ( child.Pos != IntVec2.Zero ) - continue; - - // set position - child.Pos = new IntVec2( child.Depth, curY + rootYOffset + width ); - - // enqueue child's children - foreach ( Node grandchild in child.Children ) - { - children.Push( grandchild ); - } - } - - // next root - rootYOffset += widthAtDepth.Select( p => p.Value ).Max(); - } - - // update orphan width for mini tree(s) - ResearchTree.Orphanage.Width = rootYOffset; - curY += rootYOffset; - - // create orphan grid - int nodesPerRow = (int)( Screen.width / ( Settings.NodeSize.x + Settings.NodeMargins.x ) ); - List orphans = Orphanage.Leaves.Where( node => !node.Parents.Any() && !node.Children.Any() ).OrderBy( node => node.Research.LabelCap ).ToList(); - - // set positions - for ( int i = 0; i < orphans.Count; i++ ) - { - orphans[i].Pos = new IntVec2( i % nodesPerRow, i / nodesPerRow + curY ); - } - - // update width + depth - Orphanage.Width += Mathf.CeilToInt( (float)orphans.Count / (float)nodesPerRow ); - Orphanage.MaxDepth = Math.Max( Orphanage.MaxDepth, nodesPerRow - 1 ); // zero-based - } - - public static bool Initialize() - { - // populate all nodes - Forest = new List( DefDatabase.AllDefsListForReading - // exclude projects that can never be researched (it, or one of it's prerequisites has a prereq of itself, and no unlocks) - .Where( def => !def.IsLockedOut() ) - .Select( def => new Node( def ) ) ); - - // mark, but do not remove redundant prerequisites. - foreach ( Node node in Forest ) - { - if ( !node.Research.prerequisites.NullOrEmpty() ) - { - var ancestors = node.Research.prerequisites.SelectMany( r => r.GetPrerequisitesRecursive() ).ToList(); - if ( !ancestors.NullOrEmpty() && - ( !node.Research.prerequisites?.Intersect( ancestors ).ToList().NullOrEmpty() ?? false ) ) - { - Log.Warning( "ResearchTree :: redundant prerequisites for " + node.Research.LabelCap + ", has as prerequisites: " + - string.Join( ", ", node.Research.prerequisites.Intersect( ancestors ).Select( r => r.LabelCap ).ToArray() ) ); - } - } - } - - // create links between nodes - foreach ( Node node in Forest ) - { - node.CreateLinks(); - } - - // calculate Depth of each node - foreach ( Node node in Forest ) - { - node.SetDepth(); - } - - // get the main 'Trees', looping over all defs, find strings of Research named similarly. - // We're aiming for finding things like Construction I/II/III/IV/V here. - Dictionary> trunks = new Dictionary>(); - List orphans = new List(); // temp - foreach ( Node node in Forest ) - { - // try to remove the amount of random hits by requiring Trees to be directly linked. - if ( node.Parents.Any( parent => parent.Genus == node.Genus ) || - node.Children.Any( child => child.Genus == node.Genus ) ) - { - if ( !trunks.ContainsKey( node.Genus ) ) - { - trunks.Add( node.Genus, new List() ); - } - trunks[node.Genus].Add( node ); - } - else - { - orphans.Add( node ); - } - } - - // Assign the working dictionary to Tree objects, culling stumps. - Trees = trunks.Where( trunk => trunk.Value.Count >= Settings.MinTrunkSize ) - .Select( trunk => new Tree( trunk.Key, trunk.Value ) ) - .ToList(); - - // add too small Trees back into orphan list - orphans.AddRange( trunks.Where( trunk => trunk.Value.Count < Settings.MinTrunkSize ).SelectMany( trunk => trunk.Value ) ); - - // Attach orphan nodes to the nearest Trunk, or the orphanage trunk - Orphanage = new Tree( "orphans", new List() ) { Color = Color.grey }; - - // keep trying to attach orphans to trees until we make no more progress - // ( deals with a scenario where A -> C, B -> C; if B has a family but A does not, C will resolve to B's family but A will not. ) - bool progress; - do - { - // assume we make no progress - progress = false; - - // loop down to avoid having to deal with size changes in the orphans list. - for ( int i = orphans.Count - 1; i >= 0; i-- ) - { - // find closest tree (in this iteration) - Tree closest = orphans[i].ClosestTree(); - - // we have a winner! - if ( closest != null ) - { - // we made some progress in this iteration - progress = true; - - // add leaf to tree (which also handles setting the tree field on the leaf) - closest.AddLeaf( orphans[i] ); - - // remove from orphans list - orphans.RemoveAt( i ); - } - } - } - while ( progress ); - - // add any orphans we couldn't deal with to orphanage - foreach ( Node orphan in orphans ) - { - Orphanage.AddLeaf( orphan ); - } - - // The order in which Trees should appear; ideally we want Trees with lots of cross-references to appear together. - OrderTrunks(); - - // Assign colors to trunks - int n = Trees.Count; - for ( int i = 1; i <= Trees.Count; i++ ) - { - Trees[i - 1].Color = ColorHelper.HSVtoRGB( (float)i / n, 1, 1 ); - } - - // update nodes with position info - FixPositions(); - - // some debug output -#if DEVELOPER - var stringBuilder = new StringBuilder(); - CCL_Log.CaptureBegin( stringBuilder ); - CCL_Log.Message( "Duplicated positions:\n " + string.Join( "\n", Forest.Where( _node => Forest.Any( _otherNode => _node.Pos == _otherNode.Pos && _node != _otherNode ) ).Select( _node => _node.Pos + _node.Research.LabelCap + " (" + _node.Genus + ")" ).ToArray() ) ); - foreach ( Tree tree in Trees ) - { - CCL_Log.Message( tree.ToString() ); - } - CCL_Log.Message( Orphanage.ToString() ); - CCL_Log.CaptureEnd( stringBuilder, "Associations" ); - CCL_Log.Message( stringBuilder.ToString(), "Research Tree" ); -#endif - - // Done! - Initialized = true; - return Initialized; - } - - #endregion Public Methods - - #region Private Methods - - private static void OrderTrunks() - { - // if two or less Trees, optimization is pointless - if ( Trees.Count < 3 ) - return; - - // This is a form of the travelling salesman problem, but let's simplify immensely by taking a nearest-neighbour approach. - List trees = Trees.OrderBy( tree => -tree.Leaves.Count ).ToList(); - Trees.Clear(); - - // initialize list of Trees with the largest - Tree first = trees.First(); - Trees.Add( first ); - trees.Remove( first ); - - // Set up a weighting system to keep 2nd highest affinity closer to 1st highest affinity - Dictionary weights = - new Dictionary( trees.ToDictionary( tree => tree, tree => first.AffinityWith( tree ) ) ); - - // add other Trees - while ( trees.Count > 0 ) - { - // get tree with highest accumulated weight - Tree next = weights.Where( pair => trees.Contains( pair.Key ) ).MaxBy( pair => pair.Value ).Key; - Trees.Add( next ); - trees.Remove( next ); - - // add weights for next set - foreach ( Tree tree in trees ) - { - weights[tree] += next.AffinityWith( tree ); - } - } - } - - #endregion Private Methods - } -} \ No newline at end of file diff --git a/DLL_Project/ResearchTree/Settings.cs b/DLL_Project/ResearchTree/Settings.cs deleted file mode 100644 index 7e214d2..0000000 --- a/DLL_Project/ResearchTree/Settings.cs +++ /dev/null @@ -1,24 +0,0 @@ -using UnityEngine; - -namespace CommunityCoreLibrary.ResearchTree -{ - public static class Settings - { - #region tuning parameters - - public static int LineMaxLengthNodes = 10; - public static int MinTrunkSize = 2; - - #endregion tuning parameters - - #region UI elements - - public static float HubSize = 16f; - public static Vector2 IconSize = new Vector2( 18f, 18f ); - public static Vector2 NodeMargins = new Vector2( 50f, 10f ); - public static Vector2 NodeSize = new Vector2( 200f, 50f ); - public static int TipID = 24 * 1271; - - #endregion UI elements - } -} \ No newline at end of file diff --git a/DLL_Project/ResearchTree/Tree.cs b/DLL_Project/ResearchTree/Tree.cs deleted file mode 100644 index 6cdbf57..0000000 --- a/DLL_Project/ResearchTree/Tree.cs +++ /dev/null @@ -1,182 +0,0 @@ -using CommunityCoreLibrary.ColorPicker; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using UnityEngine; - -namespace CommunityCoreLibrary.ResearchTree -{ - public class Tree - { - #region Fields - - public string Genus; - public Color GreyedColor; - public List Leaves; - public int MaxDepth; - public Color MediumColor; - public int MinDepth; - public int StartY; - public List Trunk; - public int Width; - private Color _color; - - #endregion Fields - - #region Constructors - - public Tree( string genus, List trunk ) - { - Genus = genus; - Trunk = trunk.OrderBy( node => node.Depth ).ToList(); - Leaves = new List(); - - if ( trunk.Any() ) - { - MinDepth = trunk.Select( node => node.Depth ).Min(); - MaxDepth = trunk.Select( node => node.Depth ).Max(); - Width = 1; - } - else - { - MinDepth = MaxDepth = Width = 0; - } - - // make all Trunk nodes a part of this Tree - foreach ( Node node in trunk ) - { - node.Tree = this; - } - } - - #endregion Constructors - - #region Properties - - public Color Color - { - get { return _color; } - set - { - _color = value; - - float h, s, v; - - ColorHelper.RGBtoHSV( value, out h, out s, out v ); - GreyedColor = ColorHelper.HSVtoRGB( h, 0.1f, 0.25f ); - MediumColor = ColorHelper.HSVtoRGB( h, 0.7f, 0.8f ); - } - } - - #endregion Properties - - #region Methods - - public void AddLeaf( Node leaf ) - { - // add it - Leaves.Add( leaf ); - - // mark it a part of this Tree - leaf.Tree = this; - - // update depths and Width if necessary - Width = Math.Max( Width, NodesAtDepth( leaf.Depth, true ).Count ); - MinDepth = Math.Min( MinDepth, leaf.Depth ); - MaxDepth = Math.Max( MaxDepth, leaf.Depth ); - } - - public float AffinityWith( Tree otherTree ) - { - // get the number of relations between the two extended families. - List family = new List(); - family.AddRange( Leaves ); - family.AddRange( Trunk ); - List otherFamily = otherTree.Children().Concat( otherTree.Parents() ).Distinct().ToList(); - - // count of nodes that are a member of both families, divided by family size to get small child trees to be closer to 'main' tree. - return (float)family.Intersect( otherFamily ).Count() / (float)Math.Sqrt( otherFamily.Count() ); - } - - public List Children( int depth = 2 ) - { - List children = new List( Trunk ); - List curLevel = new List( Trunk ); - - while ( depth-- > 0 ) - { - curLevel = curLevel.SelectMany( node => node.Children ).Distinct().ToList(); - children.AddRange( curLevel ); - } - - return children; - } - - public List NodesAtDepth( int depth, bool includeTrunk = false ) - { - List nodes = new List(); - if ( includeTrunk ) - nodes.AddRange( Trunk.Where( node => node.Depth == depth ) ); - nodes.AddRange( Leaves.Where( node => node.Depth == depth ) ); - return nodes; - } - - public List Parents( int depth = 2 ) - { - List parents = new List( Trunk ); - List curLevel = new List( Trunk ); - - while ( depth-- > 0 ) - { - curLevel = curLevel.SelectMany( node => node.Parents ).Distinct().ToList(); - parents.AddRange( curLevel ); - } - - return parents; - } - -#if DEVELOPER - public override string ToString() - { - StringBuilder text = new StringBuilder(); - - text.AppendLine( Genus.ToUpper() ); - text.AppendLine( "Trunk:" ); - foreach ( Node node in Trunk ) - { - text.AppendFormat( node.ToString() ); - } - - text.AppendLine( "\n\nLeaves:" ); - foreach ( Node node in Leaves ) - { - text.AppendFormat( node.ToString() + ", " ); - } - - text.AppendLine( "\n\nAffinities:" ); - foreach ( Tree tree in ResearchTree.Trees ) - { - if ( tree != this ) - { - text.AppendLine( tree.Genus + ": " + AffinityWith( tree ) ); - } - } - - text.AppendLine( "\n\nNode research details:" ); - foreach ( Node node in Trunk ) - { - text.AppendLine( node.Debug() ); - } - foreach ( Node node in Leaves ) - { - text.AppendLine( node.Debug() ); - } - - return text.ToString(); - } -#endif - - #endregion Methods - } -} \ No newline at end of file diff --git a/DLL_Project/SpecialInjectors/ResearchTreeDetourInjector.cs b/DLL_Project/SpecialInjectors/ResearchTreeDetourInjector.cs deleted file mode 100644 index e5739a6..0000000 --- a/DLL_Project/SpecialInjectors/ResearchTreeDetourInjector.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Reflection; -using System.Security.Permissions; - -using RimWorld; -using Verse; - -namespace CommunityCoreLibrary.ResearchTree -{ - - public class DetourInjector : SpecialInjector - { - - public override bool Inject() - { - // Override base ResearchManager methods to expand functionality - - // Detour RimWorld.ResearchManager.MakeProgress - MethodInfo RimWorld_ResearchManager_MakeProgress = typeof( ResearchManager ).GetMethod( "MakeProgress", BindingFlags.Instance | BindingFlags.Public ); - MethodInfo CCL_ResearchTree_ResearchManager_MakeProgress = typeof( Detour._ResearchManager ).GetMethod( "_MakeProgress", BindingFlags.Static | BindingFlags.NonPublic ); - if( !Detours.TryDetourFromTo( RimWorld_ResearchManager_MakeProgress, CCL_ResearchTree_ResearchManager_MakeProgress ) ) - return false; - - // Detour RimWorld.ResearchManager.ExposeData - MethodInfo RimWorld_ResearchManager_ExposeData = typeof( ResearchManager ).GetMethod( "ExposeData", BindingFlags.Instance | BindingFlags.Public ); - MethodInfo CCL_ResearchTree_ResearchManager_ExposeData = typeof( Detour._ResearchManager ).GetMethod( "_ExposeData", BindingFlags.Static | BindingFlags.NonPublic ); - if( !Detours.TryDetourFromTo( RimWorld_ResearchManager_ExposeData, CCL_ResearchTree_ResearchManager_ExposeData ) ) - return false; - - // Initialize the research tree - //ResearchTree.Initialize(); - - return true; - } - - } - -} diff --git a/Forum/1_Release_Post.bbc b/Forum/1_Release_Post.bbc index d773ab9..0552c74 100644 --- a/Forum/1_Release_Post.bbc +++ b/Forum/1_Release_Post.bbc @@ -1,76 +1,75 @@ -[center][img]https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/blob/master/WebGraphics/CCL_Logo_Long.png?raw=true[/img] -v0.13.1 - -[glow=red,2,300]This forum thread and the first 10 posts serve as the documentation/manual. - -Be sure to read this every time you upgrade, things change, these posts are here to tell you how and how to avoid the most common issues.[/glow][/center] - - - -[size=12pt][color=orange]Table of Contents[/color][/size] -[list] -[li]1 - [url=https://ludeon.com/forums/index.php?topic=16599.0]Download & Install Instructions[/url][/li] -[li]2 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179403#msg179403]Issue Reporting[/url][/li] -[li]3 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179404#msg179404]User Information[/url][/li] -[li]4 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179405#msg179405]Modding Features[/url][/li] -[li]5 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179406#msg179406]Internal Detours[/url][/li] -[li]6 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179407#msg179407]Credits[/url][/li] -[li]7 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179408#msg179408]Short Change Log[/url][/li] -[li]8 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179409#msg179409]Usage Terms AKA License[/url][/li] -[li]9 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179410#msg179410]Notes[/url][/li][/list] - - - -[size=12pt][color=orange]Basic Description[/color][/size] - -This is a basic set of functions which modders can use to enhance their RimWorld mods. Most of the library can be used from xml without any additional C# skill or requirement. - -If you are a user which has a mod using CCL, you only need to download the latest CCL release zip. Make sure it is enabled immediately after the 'Core' mod and before any other mod. - -If you are a modder, download the modders resource or the source package. - - - -[size=12pt][color=orange]Install Instructions[/color][/size] - -[b]ALWAYS[/b] delete any previous install of both the core library and the vanilla tweaks before installing a new version. This will avoid most common problems. - -[size=12pt]Regular users download the "User Release" package.[/size] -[list] -[li]Extract both the folders in the zip into your Mods folder.[/li] -[li]Enable "Community Core Library" immediately after "Core" - This is [b][i]REQUIRED[/i][/b] and an error will be thrown if the library does not detect the correct load order position.[/li] -[li]The "Community Core Library - Vanilla Tweaks" is entirely optional but highly recommended. It does not matter where in your load order it is but other mods may make changes to the same game objects. Enable the tweaks before or after those mods depending on the functional changes you want to use.[/li] -[li]The "Community Core Library - Research Tree" - Forthcoming - is also optional and also highly recommended. This will replace the research menu with a graphical tree depicting all research in the game. Research projects can also be queued using this menu replacer. Note, this will save additional queuing information in your save file and will need to be removed by manually editing your save game.[/li] -[/list] - -[size=12pt]Modders download the "Modders Resource" package.[/size] -[list] -[li]Do not unzip this into Mods.[/li] -[li]Install the mod folders into your Mods directory and enable them as per the user release.[/li] -[li]Check your output_log.txt! It will contain valuable information if CCL encounters errors when handling your mod! This will help you fix those trivial bugs.[/li] -[li]Always refer to "Def Descriptions" and "Examples" for how to use this library.[/li] -[li]If something is not covered, please ask a question. Be ready to be given a polite "rtfm" if it is covered in the docs. ;)[/li] -[li]As a modder, if you use the user release to develop your mod, no help or support will be given. If you want help, use the modders release and refer your your log file and the manual [b]FIRST[/b].[/li] -[/list] - -[size=12pt]C# Developers[/size] -[list][li]If you are simply wanting to mod and take advantage of CCL, use the source download or fork from the master branch (recommended).[/li] -[li]If you want to contribute, bug fix, nitpick, etc, you should fork from the unstable development branch and propose changes through pull requests.[/li][/list] - - - -[size=12pt][color=orange]Download[/color][/size] -[color=white][url=https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/releases/latest]Latest release[/url] | [url=https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/releases]All releases[/url] | [url=https://github.com/RimWorldCCLTeam/CommunityCoreLibrary]GitHub repository[/url][/color] - - -[size=12pt][color=orange]Background[/color][/size] - -This project started in Alpha 9, continued to be developed in Alpha 10 (some ideas had to be dropped due to complexity) and was first publicly released for Alpha 11. Ideas and suggestions plus a lot of help came from the RimWorld community on the Ludeon Forums. If you have an idea which fits into the context of CCL, please leave feedback or better, develop your idea and submit code! CCL and it's team could always be fleshed out with additional talent! - - - -[size=12pt][color=orange]Basic Troubleshooting[/color][/size] - -If all else fails, [i]read[/i] [b]all[/b] of the documentation (this forum thread posts #1-10), don't skim over anything. Especially read "note" sections. - -Always do a "clean" install. Delete the old version from /Mods/ before copying the new version. Do [i]not[/i] overwrite an existing copy. +[center][img]https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/blob/master/WebGraphics/CCL_Logo_Long.png?raw=true[/img] +v0.13.1 + +[glow=red,2,300]This forum thread and the first 10 posts serve as the documentation/manual. + +Be sure to read this every time you upgrade, things change, these posts are here to tell you how and how to avoid the most common issues.[/glow][/center] + + + +[size=12pt][color=orange]Table of Contents[/color][/size] +[list] +[li]1 - [url=https://ludeon.com/forums/index.php?topic=16599.0]Download & Install Instructions[/url][/li] +[li]2 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179403#msg179403]Issue Reporting[/url][/li] +[li]3 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179404#msg179404]User Information[/url][/li] +[li]4 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179405#msg179405]Modding Features[/url][/li] +[li]5 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179406#msg179406]Internal Detours[/url][/li] +[li]6 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179407#msg179407]Credits[/url][/li] +[li]7 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179408#msg179408]Short Change Log[/url][/li] +[li]8 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179409#msg179409]Usage Terms AKA License[/url][/li] +[li]9 - [url=https://ludeon.com/forums/index.php?topic=16599.msg179410#msg179410]Notes[/url][/li][/list] + + + +[size=12pt][color=orange]Basic Description[/color][/size] + +This is a basic set of functions which modders can use to enhance their RimWorld mods. Most of the library can be used from xml without any additional C# skill or requirement. + +If you are a user which has a mod using CCL, you only need to download the latest CCL release zip. Make sure it is enabled immediately after the 'Core' mod and before any other mod. + +If you are a modder, download the modders resource or the source package. + + + +[size=12pt][color=orange]Install Instructions[/color][/size] + +[b]ALWAYS[/b] delete any previous install of both the core library and the vanilla tweaks before installing a new version. This will avoid most common problems. + +[size=12pt]Regular users download the "User Release" package.[/size] +[list] +[li]Extract both the folders in the zip into your Mods folder.[/li] +[li]Enable "Community Core Library" immediately after "Core" - This is [b][i]REQUIRED[/i][/b] and an error will be thrown if the library does not detect the correct load order position.[/li] +[li]The "Community Core Library - Vanilla Tweaks" is entirely optional but highly recommended. It does not matter where in your load order it is but other mods may make changes to the same game objects. Enable the tweaks before or after those mods depending on the functional changes you want to use.[/li] +[/list] + +[size=12pt]Modders download the "Modders Resource" package.[/size] +[list] +[li]Do not unzip this into Mods.[/li] +[li]Install the mod folders into your Mods directory and enable them as per the user release.[/li] +[li]Check your output_log.txt! It will contain valuable information if CCL encounters errors when handling your mod! This will help you fix those trivial bugs.[/li] +[li]Always refer to "Def Descriptions" and "Examples" for how to use this library.[/li] +[li]If something is not covered, please ask a question. Be ready to be given a polite "rtfm" if it is covered in the docs. ;)[/li] +[li]As a modder, if you use the user release to develop your mod, no help or support will be given. If you want help, use the modders release and refer your your log file and the manual [b]FIRST[/b].[/li] +[/list] + +[size=12pt]C# Developers[/size] +[list][li]If you are simply wanting to mod and take advantage of CCL, use the source download or fork from the master branch (recommended).[/li] +[li]If you want to contribute, bug fix, nitpick, etc, you should fork from the unstable development branch and propose changes through pull requests.[/li][/list] + + + +[size=12pt][color=orange]Download[/color][/size] +[color=white][url=https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/releases/latest]Latest release[/url] | [url=https://github.com/RimWorldCCLTeam/CommunityCoreLibrary/releases]All releases[/url] | [url=https://github.com/RimWorldCCLTeam/CommunityCoreLibrary]GitHub repository[/url][/color] + + +[size=12pt][color=orange]Background[/color][/size] + +This project started in Alpha 9, continued to be developed in Alpha 10 (some ideas had to be dropped due to complexity) and was first publicly released for Alpha 11. Ideas and suggestions plus a lot of help came from the RimWorld community on the Ludeon Forums. If you have an idea which fits into the context of CCL, please leave feedback or better, develop your idea and submit code! CCL and it's team could always be fleshed out with additional talent! + + + +[size=12pt][color=orange]Basic Troubleshooting[/color][/size] + +If all else fails, [i]read[/i] [b]all[/b] of the documentation (this forum thread posts #1-10), don't skim over anything. Especially read "note" sections. + +Always do a "clean" install. Delete the old version from /Mods/ before copying the new version. Do [i]not[/i] overwrite an existing copy. diff --git a/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/About/About.xml b/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/About/About.xml deleted file mode 100644 index ca46a95..0000000 --- a/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/About/About.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Community Core Library - Enhanced Research Menu - - RimWorld CCL Team - - https://ludeon.com/forums/index.php?topic=14172.0 - - Community Core Library v0.13.0 - - This keeps the same style as the vanilla research menu but adds additional information. - - \ No newline at end of file diff --git a/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/MainTabDefs/MainTabs.xml b/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/MainTabDefs/MainTabs.xml deleted file mode 100644 index c087f33..0000000 --- a/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/MainTabDefs/MainTabs.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Research - - Examine and decide on research projects. - CommunityCoreLibrary.MainTabWindow_Research - 90 - - - \ No newline at end of file diff --git a/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/ModHelperDefs/ModHelper_ResearchMenu.xml b/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/ModHelperDefs/ModHelper_ResearchMenu.xml deleted file mode 100644 index 709401b..0000000 --- a/_Mod/Modders Resource/Community Core Library - Enhanced Research Menu/Defs/ModHelperDefs/ModHelper_ResearchMenu.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - CommunityCoreLibraryResearchMenu - - Community Core Library - Research Menu - - 0.13.0 - - - - \ No newline at end of file diff --git a/_Mod/Modders Resource/Community Core Library - Research Tree/About/About.xml b/_Mod/Modders Resource/Community Core Library - Research Tree/About/About.xml deleted file mode 100644 index 123f419..0000000 --- a/_Mod/Modders Resource/Community Core Library - Research Tree/About/About.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Community Core Library - Research Tree - - RimWorld CCL Team - - https://ludeon.com/forums/index.php?topic=14172.0 - - Community Core Library v0.13.0 - - Replaces the vanilla research menu with a research tree giving a graphic representation of the research tree. - - \ No newline at end of file diff --git a/_Mod/Modders Resource/Community Core Library - Research Tree/Defs/MainTabDefs/MainTabs.xml b/_Mod/Modders Resource/Community Core Library - Research Tree/Defs/MainTabDefs/MainTabs.xml deleted file mode 100644 index e440122..0000000 --- a/_Mod/Modders Resource/Community Core Library - Research Tree/Defs/MainTabDefs/MainTabs.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Research - - Examine and decide on research projects. - CommunityCoreLibrary.MainTabWindow_ResearchTree - 90 - - - \ No newline at end of file diff --git a/_Mod/Modders Resource/Community Core Library - Research Tree/Defs/ModHelperDefs/ModHelper_ResearchTree.xml b/_Mod/Modders Resource/Community Core Library - Research Tree/Defs/ModHelperDefs/ModHelper_ResearchTree.xml deleted file mode 100644 index c32e97c..0000000 --- a/_Mod/Modders Resource/Community Core Library - Research Tree/Defs/ModHelperDefs/ModHelper_ResearchTree.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - CommunityCoreLibraryResearchTree - - Community Core Library - Research Tree - - 0.13.0 - - -
  • CommunityCoreLibrary.ResearchTree.DetourInjector
  • -
    - -
    - -
    \ No newline at end of file diff --git a/_Mod/Modders Resource/Community Core Library/Assemblies/Community Core Library.dll b/_Mod/Modders Resource/Community Core Library/Assemblies/Community Core Library.dll index abca92279b55bb8eb7e22d93f669ac161cd20d72..8b0c4c166982fea79360185101a6ab2adfbabd37 100644 GIT binary patch literal 314368 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 z zdP89^OvFB%G8@b4Nn^EU8|tf|&MK`H8uB-&E>`>F7zA7Czl#G2NAX&|0VWg*B?~%0lSx`(R#N*;Lk&#(;>1`)ZZ; zJYo+}7XkMJD(eR4h`Q?(;lCADb(M{!a{sEazM@enuh_Rg3+IKp{gp_w1y~<(CVHj} zN6va`BSuizrIh;miAme%cm#6AbdfOT)w_2fUt7h~0W zr4r{voJ|U?U@#Z5a3u6gwr$;i7yqA2uc6uc&pzVl2pLc3;@lBflb(I*rMLr7P4n?e z1?q*yddB^yw1_6;7CLu7T80sX6nar^YdZgm9;>@9Mo*Cz@vUnsu3m-w3Pv)#>x1eq z(n4?TFVbl=BmR?K%nNHN>gh+lVO?`kAE6PwA>>~pi*fs(q=@hZ?Hm8OSFKACxkOv6 z^*8Cvh;N>Oa|ETuxE1yP@8w^QX8-3fW|8H*UpEHCII*sS=mDV-X;H4w{HL_A)|acu zbza=_L8-76uurSI3ncVnJ-06FKc)X#D{GB)-NepTNHIQzr}g-^P7ABpABx$X3cUpP z?&zMF_3n4)PCV<0YdWDvPq;F&(u+8#fjfb4#^LZjIE-ek5#!Uk4niYp@>gl?DS8<1 zwTkv#5k2q>VV?8_Sk5}D&VBslxPh4+`UA^%9Yfb*D5uSf-#s8|Yo|~W0 z`XC}(r^O5sdXc_34SPmttkXgxVv4lyfPe4959k~!tk%6J^kM}N*8g5^rPZ=G&1jMS zYn}i5X#b}?t@~W0MNbMjfqHUrSL{z={c9VoN1gRZ5dAF1o6ujUwNyx51jg+Bmo?vd zj*D_d-VWq1r1fYQquN?pAK#O(E-7pf-Br`UzN_xqQ~1|x!z*;LmlnHOvD#RV{Qo9x z-8$~@IMv)XTbk+@Sh3)+3^21b6{_?%kZy*|M%ekEPDrZ z?||+d(7gk?cR=?pYYP9D;lC05zX$(k*=g`Q4Z73dcN%o3L8s$Q;r}xHH-i87;2+-F z!Sj_-yd^yU`ZD~tfdBX4|11jzT`=f^K^F|VV9rZkB$zYO^B$GfkXVXA(wv*&)o;@7iBqV-2%(m|6 z1nF7ud*FP&6+R(#X4}#Ru$_DxeBS&f$6O~#dXT3#S@$bf)6A@iiq<5MPRxg_eq;?0 zrLfZSjVwdAtzs)14w@>Kue)A!l&xmfdH;g<#BNJ_1aD`<(l@i6%Qr$AKgm7GmdCsB zldR??7rt4yJl-8-%}ef}2}nZy)wI@pr*6dfjv)Jj+^@?V))Vw$U_HyK4-5i%r2^%r zAS-l3_XmQUmJ|q@t7&7nncX}%8RUhrDKJ*Pj7Z}tvTiRHuLHeH_fmcpuEDDKNvQc- z{H(5|q6#$n>Bk}c>!x=h9XX{6%3ZPKeJcGDzsU}dxXx24aw$7+m zSjXgzR_>E$8kLeprKC~Jo4T)kW+=29ku|I%x>HZLW+PC=?WWSc~V8yb0 zVJ!WjbfyvIt3T4qLG7K0Z&9*DokQ;`5`u5Ql>m&M))b{gIpE2N%@AO)&|7nI?$nz$dD!jejRM=-;nC@8SE27!bX%KMb!Xt1(%Vj8V@rzqE1U8|yB;SDZgU7BQSs;|}C_gkr)qTX

    u2m1LD^P>_upS1ob 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�wi^ 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

    CqBKtaFVHyozeOX?1$W>g?TACt+A$YD)`Iz7(f5 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 G@c#j$qr&X~