Skip to content

Mod加载时序的问题 #44

Description

@ZYB5200

大佬,这种情况怎么解决,只要是加载的mod内容有点多,当我第二次打开游戏时,有些mod会失效,并且只能通过重装整个软件解决,是加载时序的问题吗,这个是ERROR内容:
[ERROR] [HextechRunes.Loader] Failed to load or initialize /data/data/com.megacrit.sts2re/files/instances/profile-sts2-v0.109.0-c12f634d-ee45848ff631/mods/workshop/public-beta/3747501308/lib/0.109.0/HextechRunes.dll: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.InvalidOperationException: Tried to add model HextechRunes.SlapRune to pool MegaCrit.Sts2.Core.Models.RelicPools.SharedRelicPool, but it's too late! You must add content before the game is initialized.
at MegaCrit.Sts2.Core.Modding.ModHelper.AddModelToPool(Type poolType, Type modelType)
at HextechRunes.HextechModelPoolRegistrar.TryAddModelToPool(Type poolType, Type modelType)
at HextechRunes.HextechModelPoolRegistrar.RegisterModelsInPool(Type poolType, IReadOnlyList1 modelTypes) at HextechRunes.HextechModelPoolRegistrar.RegisterModels() at HextechRunes.HextechModelBootstrap.Install() at HextechRunes.ModEntry.Initialize() at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) --- End of inner exception stack trace --- at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at HextechRunes.Loader.LoaderBootstrap.InvokeRealInitializer(Assembly assembly) at HextechRunes.Loader.LoaderBootstrap.Initialize() at HextechRunes.Loader.LoaderBootstrap.Initialize() at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object , IntPtr* , Exception& ) at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at MegaCrit.Sts2.Core.Modding.ModManager.CallModInitializer(Type initializerType) at MegaCrit.Sts2.Core.Modding.ModManager.TryLoadMod(Mod mod) at System.Object.InvokeStub_ModManager.TryLoadMod(Object , Span1 )
at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at STS2Mobile.Patches.ModLoaderPatches.InvokeStatic(String name, Object[] args)
at STS2Mobile.Patches.ModLoaderPatches.RunAndroidModInitialization(IModManagerFileIo fileIo, ModSettings settings, Object gameVersion)
at STS2Mobile.Patches.ModLoaderPatches.RunAndroidModInitializationSafely(IModManagerFileIo fileIo, ModSettings settings, Object[] args)
at STS2Mobile.Patches.ModLoaderPatches.InitializeAsyncPrefix(IModManagerFileIo fileIo, ModSettings settings, Task& __result, Object[] __args)
at DMD<>?-1742176926.MegaCrit.Sts2.Core.Modding.ModManager.Initialize_Patch1(IModManagerFileIo fileIo, ModSettings settings, SemanticVersion gameVersion)
at MegaCrit.Sts2.Core.Helpers.OneTimeInitialization.ExecuteVeryEarly()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[d__7](d__7& stateMachine)
at MegaCrit.Sts2.Core.Helpers.OneTimeInitialization.ExecuteVeryEarly()
at MegaCrit.Sts2.Core.Nodes.NGame.GameStartup()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[d__120](d__120& stateMachine)
at MegaCrit.Sts2.Core.Nodes.NGame.GameStartup()
at MegaCrit.Sts2.Core.Nodes.NGame.GameStartupWrapper()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[d__117](d__117& stateMachine)
at MegaCrit.Sts2.Core.Nodes.NGame.GameStartupWrapper()
at DMD<>?-1742176926.MegaCrit.Sts2.Core.Nodes.NGame._EnterTree_Patch1(NGame this)
at Godot.Node.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
at Godot.CanvasItem.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
at Godot.Control.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
at MegaCrit.Sts2.Core.Nodes.NGame.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
at Godot.Bridge.CSharpInstanceBridge.Call(IntPtr godotObjectGCHandle, godot_string_name* method, godot_variant** args, Int32 argCount, godot_variant_call_error* refCallError, godot_variant* ret)

[INFO] Finished mod initialization for '海克斯符文' (HextechRunes).

我们是可以通过往InitializeAsyncPrefix中加入二次检查的机制吗,那这样子会不会引起加载过慢的问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions