Consolidate the suite into one installable Institution mod with toggles
This repo is now the single player-facing mod. It bundles the whole engine and all three feature layers into one folder -- Core, Contraband, Justice, and Gangs DLLs plus Contraband's Defs -- with one About.xml and a settings shim that turns each layer on or off from a checkbox (all on by default). A player installs one mod (this) and Harmony; no separate Core dependency. - Source/Institution: the only new code, a settings shim (InstitutionMod + InstitutionModSettings) that writes the player's choices into Core's shared InstitutionSettings. It owns no gameplay. - Tools/package.sh: rebuilds the sibling DLLs clean and vendors them + Contraband's content in here, so the repo stays a complete drop-in. - Assemblies/, Defs/, Textures/, Languages/: the vendored, assembled mod. Still fully modular and splittable: the feature code stays in its own repos and DLLs (their About.xml files remain), so breaking this back into separate mods is just shipping them individually -- no code change.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net472</TargetFramework>
|
||||
<AssemblyName>Institution</AssemblyName>
|
||||
<RootNamespace>InstitutionSuite</RootNamespace>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Nullable>disable</Nullable>
|
||||
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<GenerateDependencyFile>false</GenerateDependencyFile>
|
||||
<DebugType>none</DebugType>
|
||||
<OutputPath>..\..\Assemblies\</OutputPath>
|
||||
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- The aggregate mod's only own code: a settings shim that writes the player's checkboxes into
|
||||
Core's shared InstitutionSettings. The feature DLLs (Contraband/Justice/Gangs) are vendored in
|
||||
at package time, not referenced here. Core holds the flags, so this references only Core. -->
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
|
||||
<PackageReference Include="Krafs.Rimworld.Ref" Version="1.6.4871" ExcludeAssets="runtime" />
|
||||
<Reference Include="InstitutionCore">
|
||||
<HintPath>$(MSBuildThisFileDirectory)..\..\..\rimworld-core\Assemblies\InstitutionCore.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user