Skip to content

Commit f97f711

Browse files
committed
Fix dependency collector to not collect empty lists
1 parent d2d8949 commit f97f711

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

YAFCmodel/Analysis/Dependencies.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,21 @@ private class DependencyCollector : IDependencyCollector
6565
{
6666
private readonly List<DependencyList> list = new List<DependencyList>();
6767

68-
public void Add(FactorioId[] raw, DependencyList.Flags flags)
68+
public void Add(FactorioId[] elements, DependencyList.Flags flags)
6969
{
70-
list.Add(new DependencyList {elements = raw, flags = flags});
70+
// Only add lists that actually contain elements or that are used for special purposes
71+
if (elements.Length > 0 || (flags & DependencyList.Flags.Hidden) != 0 || (flags & DependencyList.Flags.TechnologyUnlock) != 0)
72+
{
73+
list.Add(new DependencyList { elements = elements, flags = flags });
74+
}
7175
}
7276

73-
public void Add(IReadOnlyList<FactorioObject> raw, DependencyList.Flags flags)
77+
public void Add(IReadOnlyList<FactorioObject> readOnlyList, DependencyList.Flags flags)
7478
{
75-
var elems = new FactorioId[raw.Count];
76-
for (var i = 0; i < raw.Count; i++)
77-
elems[i] = raw[i].id;
78-
list.Add(new DependencyList {elements = elems, flags = flags});
79+
var elems = new FactorioId[readOnlyList.Count];
80+
for (var i = 0; i < readOnlyList.Count; i++)
81+
elems[i] = readOnlyList[i].id;
82+
Add(elems, flags);
7983
}
8084

8185
public DependencyList[] Pack()

0 commit comments

Comments
 (0)