Init(args)
Scripting Reference
Loading...
Searching...
No Matches
Sisus.Init.InitializerBase< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument, TSixthArgument, TSeventhArgument, TEighthArgument, TNinthArgument, TTenthArgument > Class Template Referenceabstract

Description

A base class for a component that can specify the ten arguments used to initialize an object that implements IInitializable<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument, TSixthArgument, TSeventhArgument, TEighthArgument, TNinthArgument, TTenthArgument>.

The arguments can be assigned using the inspector and are serialized as part of the client's scene or prefab asset.

The arguments get injected to the TClient client during the Awake event.

The client receives the arguments via the Init method where they can be assigned to member fields or properties.

After the arguments have been injected the initializer is removed from the GameObject that holds it.

When you derive your Initializer class from InitializerBase<,,,,,,,,,,> you are responsible for implementing the argument properties and serializing their values. 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 Initializer<,,,,,,,,,,> instead, then these things will be handled for you.

Template Parameters
TClientType of the initialized client component.
TFirstArgumentType of the first argument to pass to the client component's Init function.
TSecondArgumentType of the second argument to pass to the client component's Init function.
TThirdArgumentType of the third argument to pass to the client component's Init function.
TFourthArgumentType of the fourth argument to pass to the client component's Init function.
TFifthArgumentType of the fifth argument to pass to the client component's Init function.
TSixthArgumentType of the sixth argument to pass to the client component's Init function.
TSeventhArgumentType of the seventh argument to pass to the client component's Init function.
TEighthArgumentType of the eighth argument to pass to the client component's Init function.
TNinthArgumentType of the ninth argument to pass to the client component's Init function.
TTenthArgumentType of the tenth argument to pass to the client component's Init function.
Type Constraints
TClient :MonoBehaviour 
TClient :IInitializable 
TClient :TFirstArgument 
TClient :TSecondArgument 
TClient :TThirdArgument 
TClient :TFourthArgument 
TClient :TFifthArgument 
TClient :TSixthArgument 
TClient :TSeventhArgument 
TClient :TEighthArgument 
TClient :TNinthArgument 
TClient :TTenthArgument 
Inheritance diagram for Sisus.Init.InitializerBase< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument, TSixthArgument, TSeventhArgument, TEighthArgument, TNinthArgument, TTenthArgument >:
Sisus.Init.IInitializable Sisus.Init.IInitializer< TClient > Sisus.Init.IValueProvider< TValue > Sisus.Init.IValueByTypeProvider Sisus.Init.IInitializer Sisus.Init.IValueProvider Sisus.Init.Initializer< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument, TSixthArgument, TSeventhArgument, TEighthArgument, TNinthArgument, TTenthArgument >

Protected Member Functions

override TClient InitTarget ([AllowNull] TClient target)
 
virtual void OnReset (ref TFirstArgument firstArgument, ref TSecondArgument secondArgument, ref TThirdArgument thirdArgument, ref TFourthArgument fourthArgument, ref TFifthArgument fifthArgument, ref TSixthArgument sixthArgument, ref TSeventhArgument seventhArgument, ref TEighthArgument eighthArgument, ref TNinthArgument ninthArgument, ref TTenthArgument tenthArgument)
 Resets the Init arguments to their default values.
 

Properties

TFirstArgument FirstArgument [get, set]
 The first argument passed to the TClient client's Init function.
 
TSecondArgument SecondArgument [get, set]
 The second argument passed to the TClient client's Init function.
 
TThirdArgument ThirdArgument [get, set]
 The third argument passed to the TClient client's Init function.
 
TFourthArgument FourthArgument [get, set]
 The fourth argument passed to the TClient client's Init function.
 
TFifthArgument FifthArgument [get, set]
 The fifth argument passed to the TClient client's Init function.
 
TSixthArgument SixthArgument [get, set]
 The sixth argument passed to the TClient client's Init function.
 
TSeventhArgument SeventhArgument [get, set]
 The seventh argument passed to the TClient client's Init function.
 
TEighthArgument EighthArgument [get, set]
 The eighth argument passed to the TClient client's Init function.
 
TNinthArgument NinthArgument [get, set]
 The ninth argument passed to the TClient client's Init function.
 
TTenthArgument TenthArgument [get, set]
 The tenth argument passed to the TClient client's Init function.