mirror of
https://gitea.tendokyu.moe/Kayori/Medusa.net.git
synced 2026-09-28 01:37:59 +03:00
- Refactor handler dispatch to use a parsed GameModel instead of raw model strings (Handler.cs, HandlerService.cs, new GameModel.cs) - Add a Unity asset-extraction subsystem (Abstractions/Extractors/Unity) - Add WriteEventLogHandler, XrpcDouble serialization type - Rename EaCoin*Handler -> *EaCoinHandler for naming consistency - Add PIN/username update and forgot/reset password flows, with a console-logging IEmailSender until real email is wired up - Add a settings page and a theming pass (theme tokens, tailwind config) - Add plugin nav/route/UI-manifest frontend types
19 lines
964 B
C#
19 lines
964 B
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace Abstractions.Extractors.Unity.Helpers;
|
|
|
|
/// <summary>Shared default-location lookup for the bundled classdata.tpk, used by both BundleLoader
|
|
/// and BundleDependencyIndex (each owns its own AssetsManager, so each needs to load it).</summary>
|
|
internal static class ClassDataTpk
|
|
{
|
|
// Resolved next to UnityBundleLib's own assembly, not AppContext.BaseDirectory - a consumer
|
|
// loaded into its own AssemblyLoadContext (e.g. a Medusa plugin loaded from a "plugins/<name>"
|
|
// folder) has an AppContext.BaseDirectory pointing at the *host* process's directory, not the
|
|
// plugin's, even though the NuGet package's contentFiles copy classdata.tpk next to this DLL.
|
|
public static string ResolvePath(string? overridePath) =>
|
|
overridePath ?? Path.Combine(
|
|
Path.GetDirectoryName(typeof(ClassDataTpk).Assembly.Location) ?? AppContext.BaseDirectory,
|
|
"Resources", "classdata.tpk");
|
|
}
|