Twitch Plays improvements
Version 4.4
Provides a set of new APIs for Twitch Plays command processing, as well as new diagnostics to prevent certain pitfalls. wawa.Editors
and wawa.TwitchPlays
are the only assemblies with any changes, public or internal. This library has been recompiled as version 4.4 just to keep Unity's assembly conflict problems away.
MINOR
wawa.Editors
:
- Add warning for when the Scaffolder feature is unable to add an asset to a component, which is usually an indication that the respective file that it is looking for is missing.
wawa.TwitchPlays
:
- Add warning for when an unsupported query is passed into the forced solve. This warning is editor-only, as in the future this warning may be deprecated if the Twitch Plays mod ever unionizes the functionality of the command processor and the forced solver.
- Change behavior of processing twitch commands:
yield return null
will no longer be intercepted if a the object returns true onWawa.TwitchPlays.Domains.TwitchString.IsSendMessage
. - New APIs:
Wawa.TwitchPlays.Domains.Instruction.UsableInForcedSolve
determines whether the query can be processed in a forced solve context. Used by the library to warn the consumer that the query passed in is not supported in forced solvers.Wawa.TwitchPlays.Twitch<TModule>.Equal
determines whether the two strings passed in are equal, without accounting for case. This is by far the most common operation when dealing with raw strings.Wawa.TwitchPlays.Domains.TwitchString.IsSendMessage
determines whether the query represents a message to be sent in Twitch Chat. Used by the library to determine whether the consumer intends on cancelling after the firstyield return
is confirmed to be such an instance.
- New optional parameters in existing methods, allowing you to toggle both formatting and halting:
PATCH
wawa.TwitchPlays
:
- Remove unnecessary internal
yield return null
in situations where such a value does nothing. This allows your command to be processed one (1) frame faster!
General:
- Add additional JetBrains annotations for better analysis with ReSharper.
- Micro-optimize, such as removing unnecessary calls to
GetEnumerator
where applicable. - Use the new .NET 8 Stable SDK which grants improvements in compiler optimizations. All versions from here on out will be using the new SDK when compiling.