forked from liza/Questionable
31 lines
950 B
C#
31 lines
950 B
C#
#if RELEASE
|
|
using System;
|
|
using System.IO;
|
|
using System.IO.Compression;
|
|
|
|
namespace Questionable.QuestPaths;
|
|
|
|
public static class AssemblyQuestLoader
|
|
{
|
|
public static void LoadQuestsFromEmbeddedResources(Action<string, Stream> loadFunction)
|
|
{
|
|
foreach (string resourceName in typeof(AssemblyQuestLoader).Assembly.GetManifestResourceNames())
|
|
{
|
|
if (resourceName.EndsWith(".zip"))
|
|
{
|
|
using ZipArchive zipArchive =
|
|
new ZipArchive(typeof(AssemblyQuestLoader).Assembly.GetManifestResourceStream(resourceName)!);
|
|
foreach (ZipArchiveEntry entry in zipArchive.Entries)
|
|
{
|
|
if (entry.Name.EndsWith(".json"))
|
|
{
|
|
using Stream stream = entry.Open();
|
|
loadFunction(entry.Name, stream);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endif
|