mirror of
https://github.com/soarqin/DSP_Mods.git
synced 2026-03-22 11:43:24 +08:00
Fix crash in NeutronStarHandler.OnEnable()
This commit is contained in:
@@ -172,6 +172,25 @@ public class PersistPatch : PatchImpl<PersistPatch>
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fix crash in NeutronStarHandler.OnEnable()
|
||||||
|
[HarmonyTranspiler]
|
||||||
|
[HarmonyPatch(typeof(NeutronStarHandler), nameof(NeutronStarHandler.OnEnable))]
|
||||||
|
private static IEnumerable<CodeInstruction> NeutronStarHandler_OnEnable_Transpiler(IEnumerable<CodeInstruction> instructions, ILGenerator generator)
|
||||||
|
{
|
||||||
|
var matcher = new CodeMatcher(instructions, generator);
|
||||||
|
matcher.MatchForward(false,
|
||||||
|
new CodeMatch(OpCodes.Ldarg_0),
|
||||||
|
new CodeMatch(OpCodes.Ldfld, AccessTools.Field(typeof(NeutronStarHandler), nameof(NeutronStarHandler.streamRenderer))),
|
||||||
|
new CodeMatch(OpCodes.Callvirt, AccessTools.PropertyGetter(typeof(Renderer), nameof(Renderer.sharedMaterial)))
|
||||||
|
).RemoveInstructions(3).InsertAndAdvance(
|
||||||
|
Transpilers.EmitDelegate(() => {
|
||||||
|
return Configs.builtin.neutronStarPrefab.streamRenderer.sharedMaterial;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
return matcher.InstructionEnumeration();
|
||||||
|
}
|
||||||
|
|
||||||
#region Cluster Upload Result
|
#region Cluster Upload Result
|
||||||
|
|
||||||
[HarmonyPostfix]
|
[HarmonyPostfix]
|
||||||
|
|||||||
Reference in New Issue
Block a user