Bindings are an advanced feature in EyeAuras, designed to establish dynamic connections between different properties of triggers, auras, and actions. This functionality allows the system to synchronize properties, so if one changes, the other updates correspondingly.
For example, Bindings allow you to link together the Target Window of two different triggers. If the value in one trigger updates, the other will adapt accordingly. A more advanced example includes the ability to bind the coordinates of the latest found image in an Image Search Trigger to a Send Input action. This means that if the Send Input action executes, it will click on the last found image.
Most properties that can be configured via the UI feature a small black rectangle to the right of the controls. This indicates the property is unbound. Upon clicking this rectangle, the Binding Editor opens, showing an Aura Tree displaying bindable auras, folders, and other objects. When you select a trigger or folder, the UI shows a list of triggers, actions, and their respective bindable properties.
EyeAuras uses a custom mechanism that leverages C# expressions and the INotifyPropertyChanged mechanism to form relationships between objects. Whenever a bound property updates, the system automatically updates the property it's bound to.
Bindings are especially effective when paired with EyeAuras' scripting capabilities. This combination enables the creation of dynamic and adaptable overlays that respond to real-time changes.
A powerful usage example involves binding the coordinates of an overlay to the capture region of an Image Search or Color Search action. When you move the overlay, the capture region updates automatically, offering a significant level of customizability.
Despite its robust capabilities, the Bindings feature in EyeAuras could benefit from the addition of Conditional Bindings and data transformations, which would extend its flexibility even further. EyeAuras also plans to refine the interaction between Bindings and the Custom UI feature.
For example, the "Binding to Variables" functionality lets you establish a binding to a specific variable, like binding the Target FPS to a variable called userTargetFPS. You can then use a slider in the Custom UI to change this variable. This creates a dynamic and interactive user interface where real-time changes are seamlessly integrated.
Q: Can bindings establish connections between different profiles in EyeAuras?
Q: Do bindings impact the software's performance?
Q: What happens if there's an error with a binding?
Q: Can I use bindings to sync properties across multiple triggers?
Q: Can you provide some usage examples for bindings?
Q: Are bindings shared when an aura is shared?
Q: How do bindings behave when an aura is imported?
Q: Can bindings be used from Custom UI?
Q: Do bindings have any error correction or handling mechanisms?
Q: How are bindings visualized?