Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified 1.5/Assemblies/FactionLoadout.dll
Binary file not shown.
11 changes: 11 additions & 0 deletions 1.5/Source/.run/RimWorld.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="RimWorld" type="RimworldRunConfiguration" factoryName="RimworldRunConfiguration">
<option name="commandLineOptions" value="" />
<option name="modListPath" value="$PROJECT_DIR$/modlist.xml" />
<option name="saveFilePath" value="" />
<option name="scriptName" value="$RIMWORLD_PATH/RimWorldWin64.exe" />
<method v="2">
<option name="Build Solution" enabled="true" />
</method>
</configuration>
</component>
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
<LangVersion>preview</LangVersion>
<PackageId>TotalControlVEPsycastsCompat</PackageId>

<RimworldPath Condition=" '$(RIMWORLD_PATH)' == '' ">../../../../../../</RimworldPath>
<RimworldPath Condition=" '$(RIMWORLD_PATH)' != '' ">$(RIMWORLD_PATH)</RimworldPath>

<ModPath Condition=" '$(STEAM_MODS_PATH)' == '' AND Exists('$(RimworldPath)/../../workshop/content/294100')">$(RimworldPath)/../../workshop/content/294100</ModPath>
<ModPath Condition=" '$(STEAM_MODS_PATH)' == '' AND !Exists('$(RimworldPath)/../../workshop/content/294100')">$(RimworldPath)/Mods</ModPath>
<ModPath Condition=" '$(STEAM_MODS_PATH)' != '' ">$(STEAM_MODS_PATH)/294100</ModPath>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
Expand Down Expand Up @@ -38,16 +45,14 @@
</ItemGroup>

<Choose>
<When Condition="Exists('../../../../../../RimWorldWin64_Data/Managed/Assembly-CSharp.dll')">
<When Condition="Exists('$(RimworldPath)/RimWorldWin64_Data/Managed/Assembly-CSharp.dll')">
<ItemGroup>
<Reference Include="Assembly-CSharp">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/Assembly-CSharp.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../../../RimWorldWin64_Data/Managed/Assembly-CSharp.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../../../RimWorldWin64_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
Expand All @@ -56,11 +61,11 @@

<ItemGroup>
<Reference Include="VanillaPsycastsExpanded">
<HintPath>../../../../../2842502659/1.5/Assemblies/VanillaPsycastsExpanded.dll</HintPath>
<HintPath>$(ModPath)/2842502659/1.5/Assemblies/VanillaPsycastsExpanded.dll</HintPath>
<Private>false</Private>
</Reference>
<Reference Include="VFECore">
<HintPath>../../../../../2023507013/1.5/Assemblies/VFECore.dll</HintPath>
<HintPath>$(ModPath)/2023507013/1.5/Assemblies/VFECore.dll</HintPath>
<Private>false</Private>
</Reference>
</ItemGroup>
Expand Down
136 changes: 136 additions & 0 deletions 1.5/Source/Dialog_FactionLoadout.cs
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This whole class confuses me, this is damn near a copy paste of the main ModCore DoSettingsWindowContents but without the settings at the top?
a) why the lack of settings
b) why the copy pasta? if it's just being triggered from two different places, extract that into a separate method and just call it from both places?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass just to get it working, and a base for cleanup.

For the settings specifically, I figured semantically they belong in the settings so would putting them here make sense? But in that vein, I guess this is all settings, so maybe it doesn't matter.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically, this class can be ignored for now as I intend to overhaul it. Then when it's good, I can redirect the settings to the same place.

Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
using RimWorld;
using UnityEngine;
using Verse;

namespace FactionLoadout;

public class Dialog_FactionLoadout : Window
{
public override Vector2 InitialSize => new Vector2(800f, 600f);
public Vector2 scrollPosition = Vector2.zero;

public Dialog_FactionLoadout()
{
doCloseButton = true;
doCloseX = true;
forcePause = true;
absorbInputAroundWindow = true;
}

public override void DoWindowContents(Rect inRect)
{
int presetHeight = (Preset.LoadedPresets.Count + 1) * 30;
int restHeight = 300; // Adjust this value as needed

float scrollViewHeight = presetHeight + restHeight;

Rect viewRect = new Rect(0, 0, inRect.width - 20, scrollViewHeight);
Rect viewPortRect = new Rect(0, 30, inRect.width, inRect.height-70);
scrollPosition = GUI.BeginScrollView(viewPortRect, scrollPosition, viewRect);
Listing_Standard ui = new Listing_Standard();

try{

ui.Begin(viewRect);

ui.Label("FactionLoadout_Settings_FactionPresetDesc".Translate());
ui.GapLine();


ui.CheckboxLabeled(
"FactionLoadout_Settings_VanillaRestrictions".Translate(),
ref MySettings.VanillaRestrictions,
"FactionLoadout_Settings_VanillaRestrictionsDesc".Translate()
);
ui.GapLine();
ui.CheckboxLabeled(
"FactionLoadout_Settings_Verbose".Translate(),
ref MySettings.VerboseLogging,
"FactionLoadout_Settings_VerboseDesc".Translate()
);
ui.CheckboxLabeled(
"FactionLoadout_Settings_PatchKindInRequests".Translate(),
ref MySettings.PatchKindInRequests,
"FactionLoadout_Settings_PatchKindInRequestsDesc".Translate()
);
ui.GapLine();
ui.Label("FactionLoadout_Settings_FactionPresetDesc".Translate());
ui.GapLine();

bool deleteMode = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift);
Preset toDelete = null;

foreach (Preset preset in Preset.LoadedPresets)
{
Rect area = ui.GetRect(30);
area.width = 80;

bool active = MySettings.ActivePreset == preset.GUID;

GUI.color = active ? Color.green : Color.red;
bool currentActive = active;
Widgets.CheckboxLabeled(area, "Active".Translate().CapitalizeFirst(), ref active,
placeCheckboxNearText: true);
if (currentActive != active)
MySettings.ActivePreset = active ? preset.GUID : null;

GUI.color = Color.white;
area.x += 90;
GUI.color = deleteMode ? Color.red : Color.white;
if (Widgets.ButtonText(area,
deleteMode ? "Delete".Translate().CapitalizeFirst() : "Edit".Translate().CapitalizeFirst()))
{
if (!deleteMode)
{
PresetUI.OpenEditor(preset);
Find.WindowStack.WindowOfType<Dialog_ModSettings>()?.Close();
Find.WindowStack.WindowOfType<Dialog_Options>()?.Close();
}
else
{
toDelete = preset;
}
}

GUI.color = Color.white;

area.x += 90;
area.width = 9999;
Widgets.Label(area, preset.Name);
}

if (toDelete != null)
Preset.DeletePreset(toDelete);

if (Preset.LoadedPresets.EnumerableNullOrEmpty())
ui.Label("FactionLoadout_NothingHere".Translate());

ui.GapLine();
if (ui.ButtonText("FactionLoadout_CreateNewPreset".Translate()))
{
Preset preset = new();
Preset.AddNewPreset(preset);
preset.Save();

MySettings.ActivePreset = preset.GUID;

PresetUI.OpenEditor(preset);

Find.WindowStack.WindowOfType<Dialog_ModSettings>()?.Close();
Find.WindowStack.WindowOfType<Dialog_Options>()?.Close();
}
}
finally
{
ui.End();
GUI.EndScrollView();
}

}

public override void PostClose()
{
base.PostClose();
Find.WindowStack.WindowOfType<PresetUI>()?.Close();
}
}
45 changes: 20 additions & 25 deletions 1.5/Source/FactionLoadout.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@
<ReleasePath>../../Release</ReleasePath>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>

<RimworldPath Condition=" '$(RIMWORLD_PATH)' == '' ">../../../../</RimworldPath>
<RimworldPath Condition=" '$(RIMWORLD_PATH)' != '' ">$(RIMWORLD_PATH)</RimworldPath>

<ModsPath Condition=" '$(STEAM_MODS_PATH)' == '' AND Exists('$(RimworldPath)/../../workshop/content/294100')">$(RimworldPath)/../../workshop/content/294100</ModsPath>
<ModsPath Condition=" '$(STEAM_MODS_PATH)' == '' AND !Exists('$(RimworldPath)/../../workshop/content/294100')">$(RimworldPath)/Mods</ModsPath>
<ModsPath Condition=" '$(STEAM_MODS_PATH)' != '' ">$(STEAM_MODS_PATH)/294100</ModsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Optimize>false</Optimize>
Expand Down Expand Up @@ -39,66 +46,54 @@
</GitMeta>
</ItemGroup>
<Choose>
<When Condition="Exists('../../../../RimWorldWin64_Data/Managed/Assembly-CSharp.dll')">
<When Condition="Exists('$(RimworldPath)/RimWorldWin64_Data/Managed/Assembly-CSharp-firstpass.dll')">
<ItemGroup>
<Reference Include="Assembly-CSharp-firstpass">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/Assembly-CSharp-firstpass.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/Assembly-CSharp-firstpass.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/Assembly-CSharp-firstpass.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/Assembly-CSharp.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/Assembly-CSharp.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.CoreModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.InputModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.InputModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.InputModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.InputModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.TextCoreModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.TextCoreModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.TextCoreModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.TextCoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.TextRenderingModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.TextRenderingModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.TextRenderingModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.TextRenderingModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.UIModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.UIModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.UIModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.UIModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.UI">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.UI.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.UI.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.UI.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.UIElementsModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.UIElementsModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.UIElementsModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.UIElementsModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.IMGUIModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.IMGUIModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.IMGUIModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.IMGUIModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.InputLegacyModule">
<HintPath Condition="Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data/Managed/UnityEngine.InputLegacyModule.dll</HintPath>
<HintPath Condition="!Exists('D:/SteamLibrary/steamapps/common/RimWorld/RimWorldWin64_Data')">../../../../RimWorldWin64_Data/Managed/UnityEngine.InputLegacyModule.dll</HintPath>
<HintPath>$(RimworldPath)/RimWorldWin64_Data/Managed/UnityEngine.InputLegacyModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
Expand Down
Loading