Add read-only API for querying automation groups.#1019
Open
focustense wants to merge 1 commit into
Open
Conversation
Extends `IAutomatable` with a few additional fields useful for callers, and implements them on the relevant machine/storage types. Adds an `IAutomationGroup` to hold the new result type; this is trivially implementable by the existing `MachineGroup` since all the other interfaces match.
48da0dd to
27900b1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This allows other mods to search for automation groups and gather basic information about connected containers and machines.
Since
IAutomatableis already exposed through the existing registration API, this reuses that, and adds a few basic high-level fields including the "automated instance", if one exists. If there isn't a clear backing instance, i.e. if it's a one-off implementation whose details only exist in Automate itself, then theICustomAutomatableInfoprovides a way to communicate some high-level information about it to the caller without having to reveal its internals. (This is currently used for trash cans.)The new properties on
IAutomatablehave default implementations, which should be backward-compatible with any other mods using Automate's Registration API provided that SMAPI is using Pintail version 2.4.1 or later.