Added all keybinds to mod config

master
Mohammad Shoaib 2022-05-16 22:01:02 +05:30
parent 923ad61580
commit 9c2931ec2f
8 changed files with 42 additions and 35 deletions

View File

@ -45,6 +45,28 @@ namespace stardew_access
public Boolean RadarStereoSound { get; set; } = true; public Boolean RadarStereoSound { get; set; } = true;
#endregion #endregion
#region Menu Keys
public KeybindList PrimaryInfoKey { get; set; } = KeybindList.Parse("C");
// Charachter Creatinon menu (new game menu) keys
public KeybindList CharacterCreationMenuNextKey { get; set; } = KeybindList.Parse("Right");
public KeybindList CharacterCreationMenuPreviousKey { get; set; } = KeybindList.Parse("Left");
// Bundle menu keys
public KeybindList BundleMenuIngredientsKey { get; set; } = KeybindList.Parse("I");
public KeybindList BundleMenuInventoryItemsKey { get; set; } = KeybindList.Parse("C");
public KeybindList BundleMenuPurchaseButtonKey { get; set; } = KeybindList.Parse("P");
public KeybindList BundleMenuIngredientsInputSlotKey { get; set; } = KeybindList.Parse("V");
public KeybindList BundleMenuBackButtonKey { get; set; } = KeybindList.Parse("Back");
// Menus with secondary inventory(shop inventory or chest inventory or crafting recipe list)
public KeybindList SnapToFirstInventorySlotKey { get; set; } = KeybindList.Parse("I");
public KeybindList SnapToFirstSecondaryInventorySlotKey { get; set; } = KeybindList.Parse("LeftShift + I");
// Crafting menu
public KeybindList CraftingMenuCycleThroughRecipiesKey { get; set; } = KeybindList.Parse("C");
#endregion
#region Others #region Others
public KeybindList HealthNStaminaKey { get; set; } = KeybindList.Parse("H"); public KeybindList HealthNStaminaKey { get; set; } = KeybindList.Parse("H");
public KeybindList PositionKey { get; set; } = KeybindList.Parse("K"); public KeybindList PositionKey { get; set; } = KeybindList.Parse("K");
@ -58,4 +80,4 @@ namespace stardew_access
// TODO Add the exclusion and focus list too // TODO Add the exclusion and focus list too
// public String ExclusionList { get; set; } = "test"; // public String ExclusionList { get; set; } = "test";
} }
} }

View File

@ -125,7 +125,7 @@ namespace stardew_access.Patches
return; return;
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isCPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.C); bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
string ingredients = ""; string ingredients = "";
string name = currentBluprint.displayName; string name = currentBluprint.displayName;
string upgradeName = currentBluprint.nameOfBuildingToUpgrade; string upgradeName = currentBluprint.nameOfBuildingToUpgrade;

View File

@ -151,11 +151,11 @@ namespace stardew_access.Patches
} }
else else
{ {
bool isIPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.I); // For the ingredients bool isIPressed = MainClass.Config.BundleMenuIngredientsInputSlotKey.JustPressed(); // For the ingredients
bool isCPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.C); // For the items in inventory bool isCPressed = MainClass.Config.BundleMenuInventoryItemsKey.JustPressed(); // For the items in inventory
bool isPPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.P); // For the Purchase Button bool isPPressed = MainClass.Config.BundleMenuPurchaseButtonKey.JustPressed(); // For the Purchase Button
bool isVPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.V); // For the ingredient input slots bool isVPressed = MainClass.Config.BundleMenuIngredientsInputSlotKey.JustPressed(); // For the ingredient input slots
bool isBackPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Back); // For the back button bool isBackPressed = MainClass.Config.BundleMenuBackButtonKey.JustPressed(); // For the back button
bool isLeftShiftPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.LeftShift); bool isLeftShiftPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.LeftShift);
if (isIPressed && !isUsingCustomButtons) if (isIPressed && !isUsingCustomButtons)

View File

@ -82,7 +82,7 @@ namespace stardew_access.Patches
int i = narrateHoveredItemInInventory(__instance.inventory, __instance.inventory.inventory, __instance.inventory.actualInventory, x, y); int i = narrateHoveredItemInInventory(__instance.inventory, __instance.inventory.inventory, __instance.inventory.actualInventory, x, y);
if (i != -9999) if (i != -9999)
{ {
bool isCPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.C); // For donating hovered item bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed(); // For donating hovered item
if (isCPressed && __instance.inventory.actualInventory[i] != null) if (isCPressed && __instance.inventory.actualInventory[i] != null)
{ {

View File

@ -191,15 +191,13 @@ namespace stardew_access.Patches
try try
{ {
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isIPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.I);
bool isLeftShiftPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.LeftShift);
if (isLeftShiftPressed && isIPressed && __instance.inventory.inventory.Count > 0) if (MainClass.Config.SnapToFirstInventorySlotKey.JustPressed() && __instance.inventory.inventory.Count > 0)
{ {
__instance.inventory.inventory[0].snapMouseCursorToCenter(); __instance.inventory.inventory[0].snapMouseCursorToCenter();
__instance.setCurrentlySnappedComponentTo(__instance.inventory.inventory[0].myID); __instance.setCurrentlySnappedComponentTo(__instance.inventory.inventory[0].myID);
} }
else if (!isLeftShiftPressed && isIPressed && __instance.forSaleButtons.Count > 0) else if (MainClass.Config.SnapToFirstSecondaryInventorySlotKey.JustPressed() && __instance.forSaleButtons.Count > 0)
{ {
__instance.forSaleButtons[0].snapMouseCursorToCenter(); __instance.forSaleButtons[0].snapMouseCursorToCenter();
__instance.setCurrentlySnappedComponentTo(__instance.forSaleButtons[0].myID); __instance.setCurrentlySnappedComponentTo(__instance.forSaleButtons[0].myID);
@ -413,15 +411,13 @@ namespace stardew_access.Patches
try try
{ {
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isIPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.I);
bool isLeftShiftPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.LeftShift);
if (isLeftShiftPressed && isIPressed && __instance.inventory.inventory.Count > 0) if (MainClass.Config.SnapToFirstInventorySlotKey.JustPressed() && __instance.inventory.inventory.Count > 0)
{ {
__instance.setCurrentlySnappedComponentTo(__instance.inventory.inventory[0].myID); __instance.setCurrentlySnappedComponentTo(__instance.inventory.inventory[0].myID);
__instance.inventory.inventory[0].snapMouseCursorToCenter(); __instance.inventory.inventory[0].snapMouseCursorToCenter();
} }
else if (!isLeftShiftPressed && isIPressed && __instance.ItemsToGrabMenu.inventory.Count > 0 && !__instance.shippingBin) else if (MainClass.Config.SnapToFirstSecondaryInventorySlotKey.JustPressed() && __instance.ItemsToGrabMenu.inventory.Count > 0 && !__instance.shippingBin)
{ {
__instance.setCurrentlySnappedComponentTo(__instance.ItemsToGrabMenu.inventory[0].myID); __instance.setCurrentlySnappedComponentTo(__instance.ItemsToGrabMenu.inventory[0].myID);
__instance.ItemsToGrabMenu.inventory[0].snapMouseCursorToCenter(); __instance.ItemsToGrabMenu.inventory[0].snapMouseCursorToCenter();
@ -677,25 +673,22 @@ namespace stardew_access.Patches
try try
{ {
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isIPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.I);
bool isCPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.C);
bool isLeftShiftPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.LeftShift);
if (isLeftShiftPressed && isIPressed && __instance.inventory.inventory.Count > 0) if (MainClass.Config.SnapToFirstInventorySlotKey.JustPressed() && __instance.inventory.inventory.Count > 0)
{ {
// snap to first inventory slot // snap to first inventory slot
__instance.setCurrentlySnappedComponentTo(__instance.inventory.inventory[0].myID); __instance.setCurrentlySnappedComponentTo(__instance.inventory.inventory[0].myID);
__instance.inventory.inventory[0].snapMouseCursorToCenter(); __instance.inventory.inventory[0].snapMouseCursorToCenter();
currentSelectedCraftingRecipe = -1; currentSelectedCraftingRecipe = -1;
} }
else if (!isLeftShiftPressed && isIPressed && __instance.pagesOfCraftingRecipes[___currentCraftingPage].Count > 0) else if (MainClass.Config.SnapToFirstSecondaryInventorySlotKey.JustPressed() && __instance.pagesOfCraftingRecipes[___currentCraftingPage].Count > 0)
{ {
// snap to first crafting recipe // snap to first crafting recipe
__instance.setCurrentlySnappedComponentTo(__instance.pagesOfCraftingRecipes[___currentCraftingPage].ElementAt(0).Key.myID); __instance.setCurrentlySnappedComponentTo(__instance.pagesOfCraftingRecipes[___currentCraftingPage].ElementAt(0).Key.myID);
__instance.pagesOfCraftingRecipes[___currentCraftingPage].ElementAt(0).Key.snapMouseCursorToCenter(); __instance.pagesOfCraftingRecipes[___currentCraftingPage].ElementAt(0).Key.snapMouseCursorToCenter();
currentSelectedCraftingRecipe = 0; currentSelectedCraftingRecipe = 0;
} }
else if (isCPressed && !isSelectingRecipe) else if (MainClass.Config.CraftingMenuCycleThroughRecipiesKey.JustPressed() && !isSelectingRecipe)
{ {
isSelectingRecipe = true; isSelectingRecipe = true;
CycleThroughRecipies(__instance.pagesOfCraftingRecipes, ___currentCraftingPage, __instance); CycleThroughRecipies(__instance.pagesOfCraftingRecipes, ___currentCraftingPage, __instance);

View File

@ -171,7 +171,7 @@ namespace stardew_access.Patches
try try
{ {
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isCPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.C); bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
string toSpeak = " ", extra = ""; string toSpeak = " ", extra = "";
if (___confirmingEmpty) if (___confirmingEmpty)
@ -355,7 +355,7 @@ namespace stardew_access.Patches
try try
{ {
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isCPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.C); // For narrating animal details bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed(); // For narrating animal details
bool isEscPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape); // For escaping/unselecting from the animal name text box bool isEscPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape); // For escaping/unselecting from the animal name text box
string toSpeak = " ", details = " "; string toSpeak = " ", details = " ";

View File

@ -154,7 +154,7 @@ namespace stardew_access.Patches
{ {
try try
{ {
bool isCPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.C); bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
string toSpeak = " ", extra = ""; string toSpeak = " ", extra = "";

View File

@ -175,21 +175,13 @@ namespace stardew_access.Patches
{ {
try try
{ {
bool isNextArrowPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Right); if (MainClass.Config.CharacterCreationMenuNextKey.JustPressed() && !isRunning)
bool isPrevArrowPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Left);
if (__instance.backButton.containsPoint != null && __instance.backButton.visible && __instance.backButton.containsPoint((int)Game1.getMouseX(true), (int)Game1.getMouseY(true)))
{
}
if (isNextArrowPressed && !isRunning)
{ {
isRunning = true; isRunning = true;
CycleThroughItems(true, __instance, ___skipIntro, ___startingCabinsLabel, ___difficultyModifierLabel); CycleThroughItems(true, __instance, ___skipIntro, ___startingCabinsLabel, ___difficultyModifierLabel);
Task.Delay(200).ContinueWith(_ => { isRunning = false; }); Task.Delay(200).ContinueWith(_ => { isRunning = false; });
} }
else if (isPrevArrowPressed && !isRunning) else if (MainClass.Config.CharacterCreationMenuPreviousKey.JustPressed() && !isRunning)
{ {
isRunning = true; isRunning = true;
CycleThroughItems(false, __instance, ___skipIntro, ___startingCabinsLabel, ___difficultyModifierLabel); CycleThroughItems(false, __instance, ___skipIntro, ___startingCabinsLabel, ___difficultyModifierLabel);