The basic concept of the SmartObject system is quite simple and straightforward. You set up certain classes and states and then define one or more rules, which determine how the classes should interact with each other.
The main elements of the system are classes, states, rules, and actions:
Note
A SmartObject rule takes the states of the SmartObject classes into account to decide what action is to be performed once all the conditions are met.
All SmartObject rules work pretty much the same way. A new rule is defined by picking different classes to interact with each other, depending on their state. When all conditions are met, an action will be executed as seen in the following...