Fix stack overflow.

This commit is contained in:
Ottermandias 2024-04-24 23:41:55 +02:00
parent 514121d8c1
commit cd76c31d8c
4 changed files with 7 additions and 7 deletions

View file

@ -23,7 +23,7 @@ public class DefaultSubMod(IMod mod) : IModDataContainer
=> null; => null;
public void AddDataTo(Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations) public void AddDataTo(Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations)
=> ((IModDataContainer)this).AddDataTo(redirections, manipulations); => IModDataContainer.AddDataTo(this, redirections, manipulations);
public (int GroupIndex, int DataIndex) GetDataIndices() public (int GroupIndex, int DataIndex) GetDataIndices()
=> (-1, 0); => (-1, 0);

View file

@ -16,14 +16,14 @@ public interface IModDataContainer
public Dictionary<Utf8GamePath, FullPath> FileSwaps { get; set; } public Dictionary<Utf8GamePath, FullPath> FileSwaps { get; set; }
public HashSet<MetaManipulation> Manipulations { get; set; } public HashSet<MetaManipulation> Manipulations { get; set; }
public void AddDataTo(Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations) public static void AddDataTo(IModDataContainer container, Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations)
{ {
foreach (var (path, file) in Files) foreach (var (path, file) in container.Files)
redirections.TryAdd(path, file); redirections.TryAdd(path, file);
foreach (var (path, file) in FileSwaps) foreach (var (path, file) in container.FileSwaps)
redirections.TryAdd(path, file); redirections.TryAdd(path, file);
manipulations.UnionWith(Manipulations); manipulations.UnionWith(container.Manipulations);
} }
public string GetName() public string GetName()

View file

@ -65,7 +65,7 @@ public class MultiSubMod(Mod mod, MultiModGroup group) : IModDataOption
} }
public void AddDataTo(Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations) public void AddDataTo(Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations)
=> ((IModDataContainer)this).AddDataTo(redirections, manipulations); => IModDataContainer.AddDataTo(this, redirections, manipulations);
public static MultiSubMod CreateForSaving(string name, string description, ModPriority priority) public static MultiSubMod CreateForSaving(string name, string description, ModPriority priority)
=> new(null!, null!) => new(null!, null!)

View file

@ -63,7 +63,7 @@ public class SingleSubMod(Mod mod, SingleModGroup group) : IModDataOption
} }
public void AddDataTo(Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations) public void AddDataTo(Dictionary<Utf8GamePath, FullPath> redirections, HashSet<MetaManipulation> manipulations)
=> ((IModDataContainer)this).AddDataTo(redirections, manipulations); => IModDataContainer.AddDataTo(this, redirections, manipulations);
public (int GroupIndex, int DataIndex) GetDataIndices() public (int GroupIndex, int DataIndex) GetDataIndices()
=> (Group.GetIndex(), GetDataIndex()); => (Group.GetIndex(), GetDataIndex());