Give packs an identity so create can refuse missing deps and load in a stable order.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -303,7 +303,30 @@ internal sealed class GameLoopService(
|
||||
}
|
||||
}
|
||||
|
||||
var packIds = mods.NormalizePackIds(extras);
|
||||
IReadOnlyList<string> packIds;
|
||||
try
|
||||
{
|
||||
packIds = mods.ResolveSelectedPacks(extras);
|
||||
}
|
||||
catch (PackDependencyException ex) when (ex.Code == PackDependencyException.MissingCode)
|
||||
{
|
||||
command.Result.TrySetResult(new SchoolCreationOutcome(
|
||||
null,
|
||||
SchoolCreationError.MissingMod,
|
||||
ex.MissingPackId));
|
||||
return;
|
||||
}
|
||||
catch (PackDependencyException)
|
||||
{
|
||||
command.Result.TrySetResult(new SchoolCreationOutcome(null, SchoolCreationError.ModCycle));
|
||||
return;
|
||||
}
|
||||
catch (ContentLoadException)
|
||||
{
|
||||
command.Result.TrySetResult(new SchoolCreationOutcome(null, SchoolCreationError.InvalidCatalog));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!mods.PackExists(CatalogLoader.CorePackId))
|
||||
{
|
||||
command.Result.TrySetResult(new SchoolCreationOutcome(null, SchoolCreationError.InvalidCatalog));
|
||||
|
||||
Reference in New Issue
Block a user