Fix crash when cancelling mod download
This commit is contained in:
@@ -26,8 +26,11 @@ internal static class ModInjector
|
|||||||
|
|
||||||
[HarmonyPatch(typeof(MyWorkshop), nameof(MyWorkshop.DownloadWorldModsBlockingInternal))]
|
[HarmonyPatch(typeof(MyWorkshop), nameof(MyWorkshop.DownloadWorldModsBlockingInternal))]
|
||||||
[HarmonyPostfix]
|
[HarmonyPostfix]
|
||||||
private static void DownloadModsBlockingPostfix(List<MyObjectBuilder_Checkpoint.ModItem> mods, List<MyObjectBuilder_Checkpoint.ModItem> __state)
|
private static void DownloadModsBlockingPostfix(MyWorkshop.ResultData ret, List<MyObjectBuilder_Checkpoint.ModItem> mods, List<MyObjectBuilder_Checkpoint.ModItem> __state)
|
||||||
{
|
{
|
||||||
|
if (ret.Result != VRage.GameServices.MyGameServiceCallResult.OK)
|
||||||
|
return; //world will not load, and mod data isn't loaded
|
||||||
|
|
||||||
var worldMods = __state.Select(b => b.PublishedFileId).ToImmutableHashSet();
|
var worldMods = __state.Select(b => b.PublishedFileId).ToImmutableHashSet();
|
||||||
var resolvedMods = mods.ToImmutableDictionary(b => b.PublishedFileId);
|
var resolvedMods = mods.ToImmutableDictionary(b => b.PublishedFileId);
|
||||||
|
|
||||||
|
@@ -273,7 +273,7 @@ public class ModListComponent : IRenderComponent
|
|||||||
var description = details.m_rgchDescription;
|
var description = details.m_rgchDescription;
|
||||||
list.Add(new(details.m_nPublishedFileId.m_PublishedFileId, title,
|
list.Add(new(details.m_nPublishedFileId.m_PublishedFileId, title,
|
||||||
string.IsNullOrEmpty(item.Tooltip)
|
string.IsNullOrEmpty(item.Tooltip)
|
||||||
? description[..Math.Min(description.Length - 1, 255)]
|
? description[..Math.Min(description.Length, 255)]
|
||||||
: item.Tooltip,
|
: item.Tooltip,
|
||||||
item.Description,
|
item.Description,
|
||||||
description, $"https://steamcommunity.com/sharedfiles/filedetails/?id={details.m_nPublishedFileId.m_PublishedFileId}",
|
description, $"https://steamcommunity.com/sharedfiles/filedetails/?id={details.m_nPublishedFileId.m_PublishedFileId}",
|
||||||
|
Reference in New Issue
Block a user