![]() |
StrangeIoC
0.6.0
The IoC/Binding Framework for Unity3D and C#
|
Provides the capabilities that allow a Context to communicate across the Context boundary. More...
Public Member Functions | |
| CrossContext (object view) | |
| CrossContext (object view, ContextStartupFlags flags) | |
| CrossContext (object view, bool autoMapping) | |
| override IContext | AddContext (IContext context) |
| Add another Context to this one. | |
| virtual void | AssignCrossContext (ICrossContextCapable childContext) |
| Add cross-context functionality to a child context being added. | |
| virtual void | RemoveCrossContext (ICrossContextCapable childContext) |
| Clean up cross-context functionality from a child context being removed. | |
| override IContext | RemoveContext (IContext context) |
| Remove a context from this one. | |
Public Member Functions inherited from strange.extensions.context.impl.Context | |
| Context (object view, ContextStartupFlags flags) | |
| Context (object view) | |
| Context (object view, bool autoMapping) | |
| virtual IContext | SetContextView (object view) |
| Set the object that represents the top of the Context hierarchy. More... | |
| virtual object | GetContextView () |
| Get the ContextView. | |
| virtual IContext | Start () |
| Call this from your Root to set everything in action. | |
| virtual void | Launch () |
| The final method to fire after mappings. More... | |
| virtual object | GetComponent< T > () |
| Retrieve a component from this Context by generic type. | |
| virtual object | GetComponent< T > (object name) |
| Retrieve a component from this Context by generic type and name. | |
| virtual void | AddView (object view) |
| Register a View with this Context. | |
| virtual void | RemoveView (object view) |
| Remove a View from this Context. | |
Public Member Functions inherited from strange.framework.impl.Binder | |
| delegate void | BindingResolver (IBinding binding) |
| A handler for resolving the nature of a binding during chained commands. | |
| virtual IBinding | Bind< T > () |
| Bind a Binding Key to a class or interface generic. | |
| virtual IBinding | Bind (object key) |
| Bind a Binding Key to a value. | |
| virtual IBinding | GetBinding< T > () |
| Retrieve a binding based on the provided Type. | |
| virtual IBinding | GetBinding (object key) |
| Retrieve a binding based on the provided object. | |
| virtual IBinding | GetBinding< T > (object name) |
| Retrieve a binding based on the provided Key (generic)/Name combo. | |
| virtual IBinding | GetBinding (object key, object name) |
| Retrieve a binding based on the provided Key/Name combo. | |
| virtual void | Unbind< T > () |
| Remove a binding based on the provided Key (generic) | |
| virtual void | Unbind (object key) |
| Remove a binding based on the provided Key. | |
| virtual void | Unbind< T > (object name) |
| Remove a binding based on the provided Key (generic) / Name combo. | |
| virtual void | Unbind (object key, object name) |
| Remove a binding based on the provided Key / Name combo. | |
| virtual void | Unbind (IBinding binding) |
| Remove the provided binding from the Binder. | |
| virtual void | RemoveValue (IBinding binding, object value) |
| Remove a select value from the given binding. | |
| virtual void | RemoveKey (IBinding binding, object key) |
| Remove a select key from the given binding. | |
| virtual void | RemoveName (IBinding binding, object name) |
| Remove a select name from the given binding. | |
| virtual IBinding | GetRawBinding () |
| Generate an unpopulated IBinding in whatever concrete form the Binder dictates. | |
| virtual void | ResolveBinding (IBinding binding, object key) |
| This method places individual Bindings into the bindings Dictionary as part of the resolving process. More... | |
| virtual void | OnRemove () |
| The Binder is being removed Override this method to clean up remaining bindings. | |
Public Member Functions inherited from strange.extensions.context.api.ICrossContextCapable | |
| object | GetComponent< T > () |
| Request a component from the context (might be useful in certain cross-context situations) This is technically a deprecated methodology. More... | |
| object | GetComponent< T > (object name) |
| Request a component from the context (might be useful in certain cross-context situations) This is technically a deprecated methodology. More... | |
Protected Member Functions | |
| override void | addCoreComponents () |
| Override to add componentry. Or just extend MVCSContext. | |
| override void | instantiateCoreComponents () |
| Override to instantiate componentry. Or just extend MVCSContext. | |
Protected Member Functions inherited from strange.extensions.context.impl.Context | |
| virtual void | mapBindings () |
| Override to map project-specific bindings. | |
| virtual void | postBindings () |
| Override to do things after binding but before app launch. | |
Protected Member Functions inherited from strange.framework.impl.Binder | |
| virtual void | resolver (IBinding binding) |
| The default handler for resolving bindings during chained commands. | |
| void | registerNameConflict (object key, IBinding newBinding, IBinding existingBinding) |
| Take note of bindings that are in conflict. More... | |
| bool | isConflictCleared (Dictionary< IBinding, object > dict, IBinding binding) |
| Returns true if the provided binding and the binding in the dict are no longer conflicting. | |
| void | clearConflict (object key, object name, Dictionary< IBinding, object > dict) |
| T[] | spliceValueAt< T > (int splicePos, object[] objectValue) |
| object[] | spliceValueAt (int splicePos, object[] objectValue) |
| Remove the item at splicePos from the list objectValue. | |
Protected Attributes | |
| IEventDispatcher | _crossContextDispatcher |
| A specific instance of EventDispatcher that communicates across multiple contexts. More... | |
Properties | |
| ICrossContextInjectionBinder | injectionBinder [get, set] |
| A Binder that handles dependency injection binding and instantiation. | |
| virtual IDispatcher | crossContextDispatcher [get, set] |
| virtual IBinder | crossContextBridge [get, set] |
Properties inherited from strange.extensions.context.impl.Context | |
| object | contextView [get, set] |
| The top of the View hierarchy. More... | |
Properties inherited from strange.extensions.context.api.ICrossContextCapable | |
| ICrossContextInjectionBinder | injectionBinder [get, set] |
| All cross-context capable contexts must implement an injectionBinder. | |
| IDispatcher | crossContextDispatcher [get, set] |
| Set and get the shared system bus for communicating across contexts. | |
Additional Inherited Members | |
Public Attributes inherited from strange.extensions.context.impl.Context | |
| bool | autoStartup |
If false, the Launch() method won't fire. | |
Static Public Attributes inherited from strange.extensions.context.impl.Context | |
| static IContext | firstContext |
| In a multi-Context app, this represents the first Context to instantiate. | |
Provides the capabilities that allow a Context to communicate across the Context boundary.
Specifically, CrossContext provides
|
protected |
A specific instance of EventDispatcher that communicates across multiple contexts.
An event sent across this dispatcher will be re-dispatched by the various context-wide dispatchers. So a dispatch to other contexts is simply
crossContextDispatcher.Dispatch(MY_EVENT, payload);
Other contexts don't need to listen to the cross-context dispatcher as such, just map the necessary event to your local context dispatcher and you'll receive it.
1.8.4