Added commands for focus mode

master
shoaib11120 2022-01-22 10:30:29 +05:30
parent 832f92867b
commit c5e72d545b
3 changed files with 140 additions and 28 deletions

View File

@ -7,53 +7,69 @@ namespace stardew_access
internal static void Initialize(IModHelper helper) internal static void Initialize(IModHelper helper)
{ {
helper.ConsoleCommands.Add("readtile", "Toggle read tile feature", (string commmand, string[] args) => helper.ConsoleCommands.Add("readtile", "Toggle read tile feature.", (string commmand, string[] args) =>
{ {
MainClass.readTile = !MainClass.readTile; MainClass.readTile = !MainClass.readTile;
MainClass.monitor.Log("Read Tile is " + (MainClass.readTile ? "on" : "off"), LogLevel.Info); MainClass.monitor.Log("Read Tile is " + (MainClass.readTile ? "on" : "off"), LogLevel.Info);
}); });
helper.ConsoleCommands.Add("snapmouse", "Toggle snap mouse feature", (string commmand, string[] args) => helper.ConsoleCommands.Add("snapmouse", "Toggle snap mouse feature.", (string commmand, string[] args) =>
{ {
MainClass.snapMouse = !MainClass.snapMouse; MainClass.snapMouse = !MainClass.snapMouse;
MainClass.monitor.Log("Snap Mouse is " + (MainClass.snapMouse ? "on" : "off"), LogLevel.Info); MainClass.monitor.Log("Snap Mouse is " + (MainClass.snapMouse ? "on" : "off"), LogLevel.Info);
}); });
helper.ConsoleCommands.Add("radar", "Toggle radar feature", (string commmand, string[] args) => helper.ConsoleCommands.Add("radar", "Toggle radar feature.", (string commmand, string[] args) =>
{ {
MainClass.radar = !MainClass.radar; MainClass.radar = !MainClass.radar;
MainClass.monitor.Log("Radar " + (MainClass.radar ? "on" : "off"), LogLevel.Info); MainClass.monitor.Log("Radar " + (MainClass.radar ? "on" : "off"), LogLevel.Info);
}); });
helper.ConsoleCommands.Add("rdebug", "Toggle debugging in radar feature", (string commmand, string[] args) => #region Radar Feature
helper.ConsoleCommands.Add("rdebug", "Toggle debugging in radar feature.", (string commmand, string[] args) =>
{ {
MainClass.radarDebug = !MainClass.radarDebug; MainClass.radarDebug = !MainClass.radarDebug;
MainClass.monitor.Log("Radar debugging " + (MainClass.radarDebug ? "on" : "off"), LogLevel.Info); MainClass.monitor.Log("Radar debugging " + (MainClass.radarDebug ? "on" : "off"), LogLevel.Info);
}); });
helper.ConsoleCommands.Add("rexclude", "Exclude an object key to radar", (string commmand, string[] args) => helper.ConsoleCommands.Add("rstereo", "Toggle stereo sound in radar feature.", (string commmand, string[] args) =>
{ {
string? keyToAdd = null; MainClass.radarStereoSound = !MainClass.radarStereoSound;
for (int i = 0; i < args.Count(); i++) { keyToAdd += " " + args[i]; } MainClass.monitor.Log("Stereo sound is " + (MainClass.radarStereoSound ? "on" : "off"), LogLevel.Info);
if (keyToAdd != null)
{
keyToAdd = keyToAdd.Trim().ToLower();
MainClass.radarFeature.exclusions.Add(keyToAdd);
MainClass.monitor.Log($"Added {keyToAdd} key to exclusions.", LogLevel.Info);
}
else
{
MainClass.monitor.Log("Unable to add the key to exclusions.", LogLevel.Info);
}
}); });
helper.ConsoleCommands.Add("rinclude", "Inlcude an object key to radar", (string commmand, string[] args) => helper.ConsoleCommands.Add("rfocus", "Toggle focus mode in radar feature.", (string commmand, string[] args) =>
{
bool focus = MainClass.radarFeature.toggleFocus();
MainClass.monitor.Log("Focus mode is " + (focus? "on" : "off"), LogLevel.Info);
});
#region Exclusions
helper.ConsoleCommands.Add("readd", "Add an object key to the exclusions list of radar feature.", (string commmand, string[] args) =>
{
string? keyToAdd = null;
for (int i = 0; i < args.Count(); i++) { keyToAdd += " " + args[i]; }
if (keyToAdd != null)
{
keyToAdd = keyToAdd.Trim().ToLower();
MainClass.radarFeature.exclusions.Add(keyToAdd);
MainClass.monitor.Log($"Added {keyToAdd} key to exclusions.", LogLevel.Info);
}
else
{
MainClass.monitor.Log("Unable to add the key to exclusions.", LogLevel.Info);
}
});
helper.ConsoleCommands.Add("reremove", "Remove an object key from the exclusions list of radar feature.", (string commmand, string[] args) =>
{ {
string? keyToAdd = null; string? keyToAdd = null;
@ -78,7 +94,7 @@ namespace stardew_access
} }
}); });
helper.ConsoleCommands.Add("rlist", "List all the exclusions in the radar feature.", (string commmand, string[] args) => helper.ConsoleCommands.Add("relist", "List all the exclusions in the radar feature.", (string commmand, string[] args) =>
{ {
if (MainClass.radarFeature.exclusions.Count > 0) if (MainClass.radarFeature.exclusions.Count > 0)
{ {
@ -93,18 +109,79 @@ namespace stardew_access
} }
}); });
helper.ConsoleCommands.Add("rcount", "Number of exclusions in the radar feature.", (string commmand, string[] args) => helper.ConsoleCommands.Add("recount", "Number of exclusions in the radar feature.", (string commmand, string[] args) =>
{ {
MainClass.monitor.Log($"There are {MainClass.radarFeature.exclusions.Count} exclusiond in the radar feature.", LogLevel.Info); MainClass.monitor.Log($"There are {MainClass.radarFeature.exclusions.Count} exclusiond in the radar feature.", LogLevel.Info);
}); });
#endregion
helper.ConsoleCommands.Add("rstereo", "Toggle stereo sound in radar feature", (string commmand, string[] args) => #region Focus
helper.ConsoleCommands.Add("rfadd", "Add an object key to the focus list of radar feature.", (string commmand, string[] args) =>
{
string? keyToAdd = null;
for (int i = 0; i < args.Count(); i++) { keyToAdd += " " + args[i]; }
if (keyToAdd != null)
{
keyToAdd = keyToAdd.Trim().ToLower();
MainClass.radarFeature.focus.Add(keyToAdd);
MainClass.monitor.Log($"Added {keyToAdd} key to focus.", LogLevel.Info);
}
else
{
MainClass.monitor.Log("Unable to add the key to focus.", LogLevel.Info);
}
});
helper.ConsoleCommands.Add("rfremove", "Remove an object key from the focus list of radar feature.", (string commmand, string[] args) =>
{ {
MainClass.radarStereoSound = !MainClass.radarStereoSound; string? keyToAdd = null;
MainClass.monitor.Log("Stereo sound is " + (MainClass.radarStereoSound ? "on" : "off"), LogLevel.Info); for (int i = 0; i < args.Count(); i++) { keyToAdd += " " + args[i]; }
if (keyToAdd != null)
{
keyToAdd = keyToAdd.Trim().ToLower();
if (MainClass.radarFeature.focus.Contains(keyToAdd))
{
MainClass.radarFeature.focus.Remove(keyToAdd);
MainClass.monitor.Log($"Removed {keyToAdd} key from focus.", LogLevel.Info);
}
else
{
MainClass.monitor.Log($"Cannot find{keyToAdd} key in focus.", LogLevel.Info);
}
}
else
{
MainClass.monitor.Log("Unable to remove the key from exclusions.", LogLevel.Info);
}
}); });
helper.ConsoleCommands.Add("rflist", "List all the exclusions in the radar feature.", (string commmand, string[] args) =>
{
if (MainClass.radarFeature.focus.Count > 0)
{
for (int i = 0; i < MainClass.radarFeature.focus.Count; i++)
{
MainClass.monitor.Log($"{i + 1}) {MainClass.radarFeature.focus[i]}", LogLevel.Info);
}
}
else
{
MainClass.monitor.Log("No objects found in the focus list.", LogLevel.Info);
}
});
helper.ConsoleCommands.Add("rfcount", "Number of exclusions in the radar feature.", (string commmand, string[] args) =>
{
MainClass.monitor.Log($"There are {MainClass.radarFeature.focus.Count} objects in the focus list in the radar feature.", LogLevel.Info);
});
#endregion
#endregion
helper.ConsoleCommands.Add("refsr", "Refresh screen reader", (string commmand, string[] args) => helper.ConsoleCommands.Add("refsr", "Refresh screen reader", (string commmand, string[] args) =>
{ {
MainClass.screenReader.InitializeScreenReader(); MainClass.screenReader.InitializeScreenReader();

View File

@ -16,7 +16,10 @@ namespace stardew_access.Game
private List<Furniture> furnitures; private List<Furniture> furnitures;
private List<NPC> npcs; private List<NPC> npcs;
public List<string> exclusions; public List<string> exclusions;
private List<string> temp_exclusions;
public List<string> focus;
public bool isRunning; public bool isRunning;
public bool radarFocus = false;
public Radar() public Radar()
{ {
@ -25,6 +28,8 @@ namespace stardew_access.Game
furnitures = new List<Furniture>(); furnitures = new List<Furniture>();
npcs = new List<NPC>(); npcs = new List<NPC>();
exclusions = new List<string>(); exclusions = new List<string>();
temp_exclusions = new List<string>();
focus = new List<string>();
exclusions.Add("stone"); exclusions.Add("stone");
exclusions.Add("weed"); exclusions.Add("weed");
@ -44,7 +49,9 @@ namespace stardew_access.Game
public async void run() public async void run()
{ {
MainClass.monitor.Log($"\n\nRead Tile started", StardewModdingAPI.LogLevel.Debug); if(MainClass.radarDebug)
MainClass.monitor.Log($"\n\nRead Tile started", StardewModdingAPI.LogLevel.Debug);
isRunning = true; isRunning = true;
Vector2 currPosition = Game1.player.getTileLocation(); Vector2 currPosition = Game1.player.getTileLocation();
int limit = 5; int limit = 5;
@ -54,7 +61,9 @@ namespace stardew_access.Game
npcs.Clear(); npcs.Clear();
findTile(currPosition, currPosition, limit); findTile(currPosition, currPosition, limit);
MainClass.monitor.Log($"\nRead Tile stopped\n\n", StardewModdingAPI.LogLevel.Debug); if(MainClass.radarDebug)
MainClass.monitor.Log($"\nRead Tile stopped\n\n", StardewModdingAPI.LogLevel.Debug);
await Task.Delay(3000); await Task.Delay(3000);
isRunning = false; isRunning = false;
} }
@ -298,10 +307,36 @@ namespace stardew_access.Game
soundName = $"obj{soundName}"; soundName = $"obj{soundName}";
else if (soundType == typeof(ResourceClump)) // Resource CLumps else if (soundType == typeof(ResourceClump)) // Resource CLumps
soundName = $"obj{soundName}"; soundName = $"obj{soundName}";
else if (soundType == typeof(junimoBundle)) // Junimo bundles
soundName = $"obj{soundName}";
else // Default else // Default
soundName = $"obj{soundName}"; soundName = $"obj{soundName}";
return soundName; return soundName;
} }
public bool toggleFocus()
{
radarFocus = !radarFocus;
if (radarFocus)
enableFocus();
else
disableFocus();
return radarFocus;
}
public void enableFocus()
{
temp_exclusions = exclusions;
exclusions.Clear();
}
public void disableFocus()
{
exclusions = temp_exclusions;
temp_exclusions.Clear();
}
} }
} }

View File

@ -15,8 +15,8 @@ namespace stardew_access
public static bool readTile = true; public static bool readTile = true;
public static bool snapMouse = true; public static bool snapMouse = true;
public static bool isNarratingHudMessage = false; public static bool isNarratingHudMessage = false;
public static bool radar = false; public static bool radar = true;
public static bool radarDebug = true; public static bool radarDebug = false;
public static bool radarStereoSound = true; public static bool radarStereoSound = true;
public static IMonitor? monitor; public static IMonitor? monitor;
AutoHotkeyEngine ahk; AutoHotkeyEngine ahk;