The plugin state contains fields which are universal across all plugins of each type (eg: status)
Each plugin instance has its own state
The plugin store can be used to persist any custom data
Use the generic parameter to specify a store interface
Each plugin instance has its own store
Create a subscription to a given topic on the engine plugin
The pubsub topic name to subscribe to
Create a subscription to a given topic on another plugin
The target identifier for the plugin for the topic
The pubsub topic name to subscribe to
Create a pubsub topic with a name (use dot seperation for nesting)
Called when a plugin should destroy itself, this should be used with super.destroy()
Execute an instance method on the engine plugin through a proxy
The method name to execute
A function which can be executed with the arguments to pass to target method
Execute a static instance method on the engine plugin through a proxy
The method name to execute
A function which can be executed with the arguments to pass to target method
Called when a plugin should initialize itself, this should be used with super.init()
All plugins have been constructed at this point
Execute an instance method on another plugin through a proxy
The plugin instance to use
The method name to execute
A function which can be executed with the arguments to pass to target method
Update the plugin state and trigger stateDidUpdate notifications
Object to merge into existing state (only root keys are merged)
Update the plugin store and trigger storeDidUpdate notifications
Notify the plugin that a state change has taken place
The previous state object which has been replaced
Execute a static method on another plugin through a proxy
The method name to execute
A function which can be executed with the arguments to pass to target method
Notify the plugin that a store change has taken place
The previous store object which has been replaced
Create a new model for a given prototype
The full prototype model, should be used for context
Name of the model that should be created
The model to be created
Execute a static instance method on another plugin through a proxy
The method name to execute
A function which can be executed with the arguments to pass to target method
Used to provide a plugin with accessibility to an engine it is running on