Moved patches related to Game1 and InstanceGame to their own class
parent
50e8afc78c
commit
c553b589ab
|
@ -222,9 +222,10 @@ namespace stardew_access
|
|||
original: AccessTools.Method(typeof(IClickableMenu), nameof(IClickableMenu.exitThisMenu)),
|
||||
postfix: new HarmonyMethod(typeof(IClickableMenuPatch), nameof(IClickableMenuPatch.ExitThisMenuPatch))
|
||||
);
|
||||
|
||||
harmony.Patch(
|
||||
original: AccessTools.Method(typeof(Game1), nameof(Game1.exitActiveMenu)),
|
||||
prefix: new HarmonyMethod(typeof(MenuPatches), nameof(MenuPatches.Game1ExitActiveMenuPatch))
|
||||
prefix: new HarmonyMethod(typeof(Game1Patch), nameof(Game1Patch.ExitActiveMenuPatch))
|
||||
);
|
||||
#endregion
|
||||
|
||||
|
@ -278,12 +279,12 @@ namespace stardew_access
|
|||
|
||||
harmony.Patch(
|
||||
original: AccessTools.Method(typeof(Game1), nameof(Game1.playSound)),
|
||||
prefix: new HarmonyMethod(typeof(MenuPatches), nameof(MenuPatches.PlaySoundPatch))
|
||||
prefix: new HarmonyMethod(typeof(Game1Patch), nameof(Game1Patch.PlaySoundPatch))
|
||||
);
|
||||
|
||||
harmony.Patch(
|
||||
original: AccessTools.Method(typeof(InstanceGame), nameof(InstanceGame.Exit)),
|
||||
prefix: new HarmonyMethod(typeof(MenuPatches), nameof(MenuPatches.ExitEventPatch))
|
||||
prefix: new HarmonyMethod(typeof(InstanceGamePatch), nameof(InstanceGamePatch.ExitPatch))
|
||||
);
|
||||
|
||||
harmony.Patch(
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using stardew_access.Features;
|
||||
using StardewModdingAPI;
|
||||
using StardewValley;
|
||||
|
||||
namespace stardew_access.Patches
|
||||
{
|
||||
internal class Game1Patch
|
||||
{
|
||||
private static Vector2? prevTile = null;
|
||||
|
||||
internal static void ExitActiveMenuPatch()
|
||||
{
|
||||
try
|
||||
{
|
||||
IClickableMenuPatch.Cleanup(Game1.activeClickableMenu);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MainClass.ErrorLog($"Unable to narrate Text:\n{e.Message}\n{e.StackTrace}");
|
||||
}
|
||||
}
|
||||
|
||||
internal static bool PlaySoundPatch(string cueName)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!Context.IsPlayerFree)
|
||||
return true;
|
||||
|
||||
if (!Game1.player.isMoving())
|
||||
return true;
|
||||
|
||||
if (cueName == "grassyStep" || cueName == "sandyStep" || cueName == "snowyStep" || cueName == "stoneStep" || cueName == "thudStep" || cueName == "woodyStep")
|
||||
{
|
||||
Vector2 nextTile = CurrentPlayer.FacingTile;
|
||||
if (TileInfo.isCollidingAtTile((int)nextTile.X, (int)nextTile.Y))
|
||||
{
|
||||
if (prevTile != nextTile)
|
||||
{
|
||||
prevTile = nextTile;
|
||||
//Game1.playSound("colliding");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MainClass.ErrorLog($"Unable to narrate Text:\n{e.Message}\n{e.StackTrace}");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
namespace stardew_access.Patches
|
||||
{
|
||||
internal class InstanceGamePatch
|
||||
{
|
||||
internal static void ExitPatch()
|
||||
{
|
||||
if (MainClass.ScreenReader != null)
|
||||
MainClass.ScreenReader.CloseScreenReader();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -17,7 +17,6 @@ namespace stardew_access.Patches
|
|||
internal static string forgeMenuQuery = " ";
|
||||
internal static string itemListMenuQuery = " ";
|
||||
internal static int prevSlotIndex = -999;
|
||||
public static Vector2? prevTile = null;
|
||||
|
||||
internal static void ItemListMenuPatch(ItemListMenu __instance, string ___title, int ___currentTab, int ___totalValueOfItems, List<Item> ___itemsToList)
|
||||
{
|
||||
|
@ -312,37 +311,6 @@ namespace stardew_access.Patches
|
|||
}
|
||||
}
|
||||
|
||||
internal static bool PlaySoundPatch(string cueName)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!Context.IsPlayerFree)
|
||||
return true;
|
||||
|
||||
if (!Game1.player.isMoving())
|
||||
return true;
|
||||
|
||||
if (cueName == "grassyStep" || cueName == "sandyStep" || cueName == "snowyStep" || cueName == "stoneStep" || cueName == "thudStep" || cueName == "woodyStep")
|
||||
{
|
||||
Vector2 nextTile = CurrentPlayer.FacingTile;
|
||||
if (TileInfo.isCollidingAtTile((int)nextTile.X, (int)nextTile.Y))
|
||||
{
|
||||
if (prevTile != nextTile)
|
||||
{
|
||||
prevTile = nextTile;
|
||||
//Game1.playSound("colliding");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MainClass.ErrorLog($"Unable to narrate Text:\n{e.Message}\n{e.StackTrace}");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
internal static void LanguageSelectionMenuPatch(LanguageSelectionMenu __instance)
|
||||
{
|
||||
|
@ -604,22 +572,6 @@ namespace stardew_access.Patches
|
|||
}
|
||||
}
|
||||
|
||||
internal static void Game1ExitActiveMenuPatch()
|
||||
{
|
||||
try
|
||||
{
|
||||
IClickableMenuPatch.Cleanup(Game1.activeClickableMenu);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MainClass.ErrorLog($"Unable to narrate Text:\n{e.Message}\n{e.StackTrace}");
|
||||
}
|
||||
}
|
||||
|
||||
internal static void ExitEventPatch()
|
||||
{
|
||||
if (MainClass.ScreenReader != null)
|
||||
MainClass.ScreenReader.CloseScreenReader();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
using Microsoft.Xna.Framework.Graphics;
|
||||
using StardewValley;
|
||||
using StardewValley.Menus;
|
||||
using StardewValley.Quests;
|
||||
|
||||
namespace stardew_access.Patches
|
||||
{
|
||||
internal class QuestPatches
|
||||
{
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue