29 lines
1.2 KiB
C#
29 lines
1.2 KiB
C#
using Automata.Core;
|
|
using Automata.Screen;
|
|
|
|
namespace Automata.Inventory;
|
|
|
|
public interface IInventoryManager
|
|
{
|
|
event Action? Updated;
|
|
InventoryTracker Tracker { get; }
|
|
byte[]? LastScreenshot { get; }
|
|
bool IsAtOwnHideout { get; }
|
|
string SellerAccount { get; }
|
|
void SetLocation(bool atHome, string? seller = null);
|
|
Task ScanInventory(PostAction defaultAction = PostAction.Stash);
|
|
Task<ScanResult> SnapshotInventory();
|
|
Task ClearToStash();
|
|
Task<bool> EnsureAtOwnHideout();
|
|
Task ProcessInventory();
|
|
Task<bool> WaitForAreaTransition(int timeoutMs, Func<Task>? triggerAction = null);
|
|
Task<(int X, int Y)?> FindAndClickNameplate(string name, int maxRetries = 3, int retryDelayMs = 1000, System.Drawing.Rectangle? scanRegion = null, string? savePath = null);
|
|
Task DepositItemsToStash(List<PlacedItem> items);
|
|
Task DepositAllToOpenStash();
|
|
Task<bool> SalvageItems(List<PlacedItem> items);
|
|
Task<bool> IdentifyItems();
|
|
(bool[,] Grid, List<PlacedItem> Items, int Free) GetInventoryState();
|
|
Task ClickStashTab(StashTabInfo tab, StashTabInfo? parentFolder = null);
|
|
void ResetStashTabState();
|
|
Task GrabItemsFromStash(string layoutName, int maxItems, string? templatePath = null);
|
|
}
|