Skip to content
This repository was archived by the owner on Jun 26, 2020. It is now read-only.

Commit dcf0e9b

Browse files
authored
Merge pull request #80 from lolPants/reee-v2
Fixes and stuff and things
2 parents 7a1ff87 + 45e06b6 commit dcf0e9b

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed

BeatSaberModManager/Core/RemoteLogic.cs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -152,25 +152,21 @@ private void CreateRelease(ReleaseInfo release)
152152
if (release.gameVersion != selectedGameVersion.value)
153153
return;
154154

155-
ReleaseInfo test = releases.Find(x => x.name == release.name);
156-
if (test != null)
157-
{
158-
Version testVersion = new Version(test.version);
159-
Version newVersion = new Version(release.version);
160-
161-
if (testVersion > newVersion)
162-
{
163-
return;
164-
}
165-
else
166-
{
167-
int idx = releases.FindIndex(x => (x.name == test.name) && (x.version == test.version));
168-
releases[idx] = release;
169-
}
170-
} else
155+
ReleaseInfo current = releases.Find(x => x.name == release.name);
156+
if (current == null)
171157
{
172158
releases.Add(release);
159+
return;
173160
}
161+
162+
Version currentVersion = new Version(current.version);
163+
Version newVersion = new Version(release.version);
164+
165+
if (currentVersion >= newVersion)
166+
return;
167+
168+
releases.Remove(current);
169+
releases.Add(release);
174170
}
175171
}
176172
}

BeatSaberModManager/Forms/FormMain.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ private void RemoteLoad()
7070

7171
private void comboBox_gameVersions_SelectedIndexChanged(object sender, EventArgs e)
7272
{
73+
// For some reason this breaks deps/conflicts
74+
// God knows why
75+
// listViewMods.Items.Clear();
76+
7377
ComboBox comboBox = (ComboBox)sender;
7478
GameVersion gameVersion = remote.gameVersions[comboBox.SelectedIndex];
7579

@@ -121,6 +125,8 @@ private void ShowReleases()
121125
}
122126
}
123127

128+
ReRenderListView();
129+
124130
ListViewGroup[] sortedGroups = new ListViewGroup[this.listViewMods.Groups.Count];
125131

126132
listViewMods.Groups.CopyTo(sortedGroups, 0);
@@ -147,6 +153,7 @@ private void UpdateStatus(string status)
147153
labelStatus.Text = formattedText;
148154
}));
149155
}
156+
150157
private void CheckDefaultMod(ReleaseInfo release, ListViewItem item)
151158
{
152159
string link = release.downloadLink.ToLower();
@@ -264,10 +271,16 @@ private void listViewMods_ItemChecked(object sender, ItemCheckedEventArgs e)
264271
Range range = new Range(link.semver);
265272

266273
return range.IsSatisfied(version);
267-
}).ToList();
274+
})
275+
.GroupBy(lvi =>
276+
{
277+
ReleaseInfo info = (ReleaseInfo)lvi.Tag;
278+
return $"{info.name}@{info.version}";
279+
}).Select(x => x.First()).ToList();
268280

269281
if (filtered.Count != release.dependsOn.Count)
270282
{
283+
Console.WriteLine($"aaa // {release.name}@{release.version}");
271284
release.install = false;
272285
release.disabled = true;
273286

0 commit comments

Comments
 (0)