![]() |
Init(args)
Scripting Reference
|
A base class for a component that can specify the six constructor arguments used to initialize a plain old class object which then gets wrapped by a Wrapper<TWrapped> component.
The argument values can be assigned using the inspector and serialized as part of a scene or a prefab.
The TWrapped wrapped object gets created and injected to the TWrapper wrapper component during the Awake event.
After the object has been injected the WrapperInitializer<,,,,,,,> is removed from the GameObject that holds it.
When you derive your Initializer class from WrapperInitializerBase<,,,,,,,> you are responsible for implementing the argument properties and serializing their value. This means you will need to write a little bit more code, but it also grants you more options in how to handle the serialization, making it possible to support types that Unity can't serialize automatically. If you derive from WrapperInitializer<,,,,,,,> instead, then these things will be handled for you.
TWrapper | Type of the initialized wrapper component. |
TWrapped | Type of the object wrapped by the wrapper. |
TFirstArgument | Type of the first argument passed to the wrapped object's constructor. |
TSecondArgument | Type of the second argument passed to the wrapped object's constructor. |
TThirdArgument | Type of the third argument passed to the wrapped object's constructor. |
TFourthArgument | Type of the fourth argument passed to the wrapped object's constructor. |
TFifthArgument | Type of the fifth argument passed to the wrapped object's constructor. |
TSixthArgument | Type of the sixth argument passed to the wrapped object's constructor. |
TWrapper | : | Wrapper<TWrapped> |
Protected Member Functions | |
override TWrapper | InitTarget ([AllowNull] TWrapper wrapper) |
TWrapped | CreateWrappedObject (TFirstArgument firstArgument, TSecondArgument secondArgument, TThirdArgument thirdArgument, TFourthArgument fourthArgument, TFifthArgument fifthArgument, TSixthArgument sixthArgument) |
Creates a new instance of TWrapped initialized using the provided arguments and returns it. | |
Properties | |
TFirstArgument | FirstArgument [get, set] |
The first argument used to initialize the wrapped object. | |
TSecondArgument | SecondArgument [get, set] |
The second argument used to initialize the wrapped object. | |
TThirdArgument | ThirdArgument [get, set] |
The third argument used to initialize the wrapped object. | |
TFourthArgument | FourthArgument [get, set] |
The fourth argument used to initialize the wrapped object. | |
TFifthArgument | FifthArgument [get, set] |
The fifth argument used to initialize the wrapped object. | |
TSixthArgument | SixthArgument [get, set] |
The sixth argument used to initialize the wrapped object. | |
![]() | |
Object | Target [get, set] |
Existing target instance to initialize, if any. | |
bool | ProvidesCustomInitArguments [get] |
Gets a value indicating whether this initializer is able to provide custom per-instance Init arguments for its client. | |
Additional Inherited Members | |
![]() | |
new TClient | InitTarget () |
Initializes the client object of type TClient with the arguments specified by this initializer. | |
new System.Threading.Tasks.Task< TClient > | InitTargetAsync () |
Initializes the client object of type TClient asynchronously with the arguments specified by this initializer. | |
![]() | |
bool | TargetIsAssignableOrConvertibleToType (Type type) |
Gets a value indicating whether an object of the given type can be assigned to the Target property directly, or if type implements IValueProvider<T>, IValueByTypeProvider or IValueByTypeProviderAsync. | |