Skip to content

Commit ea6fe72

Browse files
committed
Allow for missions to multiple asset names because KSP2 is Inconsistent inconsistent here, and I want to be able to use the optimizations
1 parent 0ef0e7f commit ea6fe72

File tree

16 files changed

+48
-33
lines changed

16 files changed

+48
-33
lines changed

Runtime/Generic/SassyPatching/Rulesets/JsonRuleset.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public ISelectable ConvertToSelectable(string type, string name, string jsonData
3232

3333
public bool CanGetAssetNameFromSelectableName => true;
3434

35-
public string SelectableNameToAssetName(string selectableName) => selectableName;
35+
public string[] SelectableNameToAssetName(string selectableName) => new [] {selectableName};
3636

3737
/// <inheritdoc />
3838
public INewAsset CreateNew(List<DataValue> dataValues)

Runtime/Missions/Rulesets/MissionRuleset.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,14 @@ public bool CanIngestSelectable(ISelectable selectable) => selectable is Mission
3030
// TODO: Validate
3131
public bool CanGetAssetNameFromSelectableName => true;
3232

33-
public string SelectableNameToAssetName(string selectableName) => selectableName;
33+
public string[] SelectableNameToAssetName(string selectableName) => new[]
34+
{
35+
selectableName,
36+
// For the main KSP2 missions
37+
$"KSP2Mission_{selectableName}",
38+
// For the tutorial missions
39+
selectableName.Replace(' ','_')
40+
};
3441

3542
/// <inheritdoc/>
3643
public INewAsset CreateNew(List<DataValue> dataValues)

Runtime/Parts/Rulesets/PartsRuleset.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public bool CanIngestSelectable(ISelectable selectable) => selectable is PartSel
4343

4444
public bool CanGetAssetNameFromSelectableName => true;
4545

46-
public string SelectableNameToAssetName(string selectableName) => selectableName;
46+
public string[] SelectableNameToAssetName(string selectableName) => new[] {selectableName};
4747

4848
/// <inheritdoc />
4949
/// <summary>

Runtime/PatchManager.Resources/Rulesets/ResourceRuleset.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public bool CanIngestSelectable(ISelectable selectable) => selectable is RecipeS
3939
// TODO: Validate
4040
public bool CanGetAssetNameFromSelectableName => false;
4141

42-
public string SelectableNameToAssetName(string selectableName)
42+
public string[] SelectableNameToAssetName(string selectableName)
4343
{
4444
throw new System.NotImplementedException();
4545
}

Runtime/PatchManager.Resources/Rulesets/ResourceUnitRuleset.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class ResourceUnitRuleset : IPatcherRuleSet
2727

2828
private static int _globallyIncrementingId = 0;
2929

30-
public string SelectableNameToAssetName(string selectableName)
30+
public string[] SelectableNameToAssetName(string selectableName)
3131
{
3232
throw new System.NotImplementedException();
3333
}

Runtime/Planets/Rulesets/AtmosphereOverrideRuleset.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public bool CanIngestSelectable(ISelectable selectable) => selectable is Atmosph
2424

2525
public bool CanGetAssetNameFromSelectableName => true;
2626

27-
public string SelectableNameToAssetName(string selectableName) => $"atmosphere_override_{selectableName.ToLowerInvariant()}";
27+
public string[] SelectableNameToAssetName(string selectableName) => new [] { $"atmosphere_override_{selectableName.ToLowerInvariant()}" };
2828

2929
public INewAsset CreateNew(List<DataValue> dataValues)
3030
{

Runtime/Planets/Rulesets/CelestialBodyRuleset.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
namespace PatchManager.Planets.Rulesets
1111
{
12-
[PatcherRuleset("body","celestial_bodies")]
12+
[PatcherRuleset("body", "celestial_bodies")]
1313
public class CelestialBodyRuleset : IPatcherRuleSet
1414
{
1515
public string[] Labels => new[] { "celestial_bodies" };
@@ -24,7 +24,8 @@ public bool CanIngestSelectable(ISelectable selectable) => selectable is Celesti
2424

2525
public bool CanGetAssetNameFromSelectableName => true;
2626

27-
public string SelectableNameToAssetName(string selectableName) => selectableName;
27+
public string[] SelectableNameToAssetName(string selectableName) => new[]
28+
{ selectableName };
2829

2930
public INewAsset CreateNew(List<DataValue> dataValues)
3031
{

Runtime/Planets/Rulesets/GalaxyRuleset.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public bool CanIngestSelectable(ISelectable selectable) => selectable is GalaxyS
3434

3535
public bool CanGetAssetNameFromSelectableName => false;
3636

37-
public string SelectableNameToAssetName(string selectableName) => $"GalaxyDefinition_{selectableName}";
37+
public string[] SelectableNameToAssetName(string selectableName) => new [] {$"GalaxyDefinition_{selectableName}"};
3838

3939
/// <inheritdoc />
4040
public INewAsset CreateNew(List<DataValue> dataValues)

Runtime/Planets/Rulesets/VolumeCloudOverrideRuleset.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public bool CanIngestSelectable(ISelectable selectable) => selectable is VolumeC
2222

2323
public bool CanGetAssetNameFromSelectableName => true;
2424

25-
public string SelectableNameToAssetName(string selectableName) => $"volume_cloud_override_{selectableName.ToLowerInvariant()}";
25+
public string[] SelectableNameToAssetName(string selectableName) => new [] {$"volume_cloud_override_{selectableName.ToLowerInvariant()}"};
2626

2727
public INewAsset CreateNew(List<DataValue> dataValues)
2828
{

Runtime/SassyPatching/Execution/SassyTextPatcher.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class SassyTextPatcher
2424
private Environment _environmentSnapshot;
2525
private SelectionBlock _rootSelectionBlock;
2626
public IPatcherRuleSet RuleSet;
27-
[CanBeNull] public string AssetName;
27+
[CanBeNull] public string[] AssetName;
2828
[CanBeNull] public string AssetType; // We have one overload for asset types
2929
internal SassyTextPatcher(Environment environmentSnapshot, SelectionBlock rootSelectionBlock)
3030
{

0 commit comments

Comments
 (0)