73 lines
2.9 KiB
Plaintext
73 lines
2.9 KiB
Plaintext
1. Inject assembly reference, namespace: StardewModdingAPI
|
|
|
|
2.Modify class StardewValley.Game1, modify constructor method£¬insert Instructions at beginning:
|
|
newobj System.Void SMDroid.ModEntry::.ctor()
|
|
stsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
|
|
3.Modify class StardewValley.ModHooks, inject method:
|
|
public virtual void OnGame1_Update(GameTime time);
|
|
public virtual void OnGame1_Draw(GameTime time, RenderTarget2D toBuffer);
|
|
public virtual LocalizedContentManager OnGame1_CreateContentManager(IServiceProvider serviceProvider, string rootDirectory) => null;
|
|
|
|
4.Modify class StardewValley.Game1, modify method Update(GameTime gameTime), insert Instructions at beginning:
|
|
ldsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
ldarg.1
|
|
callvirt System.Void StardewValley.ModHooks::OnGame1_Update(Microsoft.Xna.Framework.GameTime)
|
|
|
|
5.Modify class StardewValley.Game1, modify method CreateContentManager(GameTime gameTime), replace Instructions to:
|
|
ldsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
ldarg.1
|
|
ldarg.2
|
|
callvirt StardewValley.LocalizedContentManager StardewValley.ModHooks::OnGame1_CreateContentManager(System.IServiceProvider,System.String)
|
|
ret
|
|
|
|
6.Modify class StardewValley.Game1, modify method Draw(GameTime gameTime, RenderTarget2D toBuffer), modify Instructions at beginning:
|
|
ldsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
ldarg.1
|
|
ldnull
|
|
callvirt System.Void StardewValley.ModHooks::OnGame1_Draw(Microsoft.Xna.Framework.GameTime,Microsoft.Xna.Framework.Graphics.RenderTarget2D)
|
|
|
|
|
|
Optional Section
|
|
|
|
Fix back button£º
|
|
|
|
Modify class StardewValley.Game1, modify method updateAndroidMenus(), modify Instructions at beginning:
|
|
ldsfld StardewValley.InputState StardewValley.Game1::input
|
|
callvirt Microsoft.Xna.Framework.Input.GamePadState StardewValley.InputState::GetGamePadState()
|
|
|
|
|
|
|
|
Json Asset Support£º
|
|
|
|
Modify class StardewValley.Object, modify method checkForAction,insert instructions at beginning:
|
|
ldsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
ldarg.0
|
|
callvirt System.Boolean StardewValley.ModHooks::OnObject_checkForAction(StardewValley.Object)
|
|
brtrue.s -> (6) ldarg.2
|
|
ldc.i4.0
|
|
ret
|
|
|
|
modify method isIndexOkForBasicShippedCategory,replace instructions:
|
|
ldarg.0
|
|
ldc.i4 434
|
|
bne.un.s -> (5) ldsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
ldc.i4.0
|
|
ret
|
|
ldsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
ldarg.0
|
|
ldloca.s -> (0) (System.Boolean)
|
|
callvirt System.Void StardewValley.ModHooks::OnObject_isIndexOkForBasicShippedCategory(System.Int32,System.Boolean&)
|
|
ldloc.0
|
|
ret
|
|
|
|
modify method canBePlacedHere insert instructions at beginning:
|
|
ldsfld StardewValley.ModHooks StardewValley.Game1::hooks
|
|
ldarg.0
|
|
ldarg.1
|
|
ldarg.2
|
|
ldloca.s -> (1) (System.Boolean)
|
|
callvirt System.Boolean StardewValley.ModHooks::OnObject_canBePlacedHere(StardewValley.Object,StardewValley.GameLocation,Microsoft.Xna.Framework.Vector2,System.Boolean&)
|
|
brtrue.s -> (9) ldarg.1
|
|
ldloc.1
|
|
ret |