Skip to content

Commit 8c1a53e

Browse files
committed
More simple optimizations
1 parent 8139781 commit 8c1a53e

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

Runtime/Generic/SassyPatching/Rulesets/JsonRuleset.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,9 @@ public ISelectable ConvertToSelectable(string type, string name, string jsonData
3030

3131
public bool CanIngestSelectable(ISelectable selectable) => selectable is JTokenSelectable;
3232

33-
public bool CanGetAssetNameFromSelectableName => false;
33+
public bool CanGetAssetNameFromSelectableName => true;
3434

35-
public string SelectableNameToAssetName(string selectableName)
36-
{
37-
throw new System.NotImplementedException();
38-
}
35+
public string SelectableNameToAssetName(string selectableName) => selectableName;
3936

4037
/// <inheritdoc />
4138
public INewAsset CreateNew(List<DataValue> dataValues)

Runtime/SassyPatching/Execution/SassyTextPatcher.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System;
2+
using System.Data;
23
using Castle.Core.Internal;
34
using JetBrains.Annotations;
5+
using PatchManager.Generic.SassyPatching.Rulesets;
46
using PatchManager.SassyPatching.Exceptions;
57
using PatchManager.SassyPatching.Interfaces;
68
using PatchManager.SassyPatching.Nodes.Attributes;
@@ -23,6 +25,7 @@ public class SassyTextPatcher
2325
private SelectionBlock _rootSelectionBlock;
2426
public IPatcherRuleSet RuleSet;
2527
[CanBeNull] public string AssetName;
28+
[CanBeNull] public string AssetType; // We have one overload for asset types
2629
internal SassyTextPatcher(Environment environmentSnapshot, SelectionBlock rootSelectionBlock)
2730
{
2831
_environmentSnapshot = environmentSnapshot;
@@ -53,14 +56,15 @@ private void RecursivelyFindRuleSet(Selector selector)
5356
$"Ruleset {rulesetSelector.RulesetName} does not exist!");
5457
}
5558
RuleSet = ruleSet;
56-
if (RuleSet.CanGetAssetNameFromSelectableName && intersectionSelector.Selectors[1] is NameSelector nameSelector)
59+
if (RuleSet.CanGetAssetNameFromSelectableName && intersectionSelector.Selectors[1] is NameSelector nameSelector && !(nameSelector.NamePattern.Contains('*') || nameSelector.NamePattern.Contains('?')))
5760
{
58-
if (nameSelector.NamePattern.Contains('*') || nameSelector.NamePattern.Contains('?'))
59-
{
60-
return;
61-
}
61+
AssetName = RuleSet.SelectableNameToAssetName(nameSelector.NamePattern.Interpolate(_environmentSnapshot));
62+
}
6263

63-
AssetName = RuleSet.SelectableNameToAssetName(nameSelector.NamePattern);
64+
if (RuleSet is JsonRuleset jsonRuleset &&
65+
intersectionSelector.Selectors[1] is ElementSelector elementSelector)
66+
{
67+
AssetType = elementSelector.ElementName.Interpolate(_environmentSnapshot);
6468
}
6569
}
6670
else

0 commit comments

Comments
 (0)