Init(args)
Scripting Reference
Sisus.Init.IArgs< TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Interface Template Reference

Description

Represents an object which can receive an argument of type TArgument as part of its initialization process.

Represents an object which can receive five arguments as part of its initialization process.

Represents an object which can receive four arguments as part of its initialization process.

Represents an object which can receive three arguments as part of its initialization process.

Represents an object which can receive two arguments as part of its initialization process.

Object-derived classes that implement this interface can be instantiated with their dependency using the ObjectExtensions.Instantiate<TObject, TArgument> function.

MonoBehaviour-derived classes that implement this interface can be added to a GameObject with their dependency using the GameObject.AddComponent{TComponent, TArgument} function.

If the class also implements IInitializable<TArgument> then these functions can automatically inject the dependency to the IInitializable<TArgument>.Init function at the end of the initialization process; after the Awake and OnEnable events but before the Start event.

If the class does not implement IArgs<TArgument>, or if you you would like to retrieve the dependency at an earlier stage of the initialization process, you can use InitArgs.TryGet<TArgument>.

See also
IInitializable<TArgument>, MonoBehaviour<TArgument>, ScriptableObject<TArgument>
Template Parameters
TArgumentType of the argument.

Object-derived classes that implement this interface can be instantiated with their dependency using the function. MonoBehaviour-derived classes that implement this interface can be added to a GameObject GameObjectExtensions.AddComponent<TComponent, TFirstArgument, TSecondArgument> function.

If the class also implements IInitializable<TFirstArgument, TSecondArgument> then these functions can automatically inject the dependency to the IInitializable<TFirstArgument, TSecondArgument>.Init function at the end of the initialization process; after the Awake and OnEnable events but before the Start event.

If the class does not implement IArgs<TFirstArgument, TSecondArgument>, or if you you would like to retrieve the dependency at an earlier stage of the initialization process, you can use InitArgs.TryGet<TFirstArgument, TSecondArgument>.

See also
IInitializable<TFirstArgument, TSecondArgument>, MonoBehaviour<TFirstArgument, TSecondArgument>, ScriptableObject<TFirstArgument, TSecondArgument>
Template Parameters
TFirstArgumentType of the first argument.
TSecondArgumentType of the second argument.

Object-derived classes that implement this interface can be instantiated with their dependency using the function. MonoBehaviour-derived classes that implement this interface can be added to a GameObject with their dependency using the GameObjectExtensions.AddComponent<TComponent, TFirstArgument, TSecondArgument, TThirdArgument> function.

If the class also implements IInitializable<TFirstArgument, TSecondArgument, TThirdArgument> then these functions can automatically inject the dependency to the IInitializable<TFirstArgument, TSecondArgument, TThirdArgument>.Init function at the end of the initialization process; after the Awake and OnEnable events but before the Start event.

If the class does not implement IArgs<TFirstArgument, TSecondArgument, TThirdArgument>, or if you you would like to retrieve the dependency at an earlier stage of the initialization process, you can use InitArgs.TryGet<TFirstArgument, TSecondArgument, TThirdArgument>.

See also
IInitializable<TFirstArgument, TSecondArgument, TThirdArgument>, MonoBehaviour<TFirstArgument, TSecondArgument, TThirdArgument>, ScriptableObject<TFirstArgument, TSecondArgument, TThirdArgument>
Template Parameters
TFirstArgumentType of the first argument.
TSecondArgumentType of the second argument.
TThirdArgumentType of the third argument.

Object-derived classes that implement this interface can be instantiated with their dependency using the function. MonoBehaviour-derived classes that implement this interface can be added to a GameObject with their dependency using the GameObjectExtensions.AddComponent<TComponent, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument> function.

If the class also implements IInitializable<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument> then these functions can automatically inject the dependency to the IInitializable<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument>.Init function at the end of the initialization process; after the Awake and OnEnable events but before the Start event.

If the class does not implement IArgs<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument>, or if you you would like to retrieve the dependency at an earlier stage of the initialization process, you can use InitArgs.TryGet<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument>.

See also
IInitializable<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument>, MonoBehaviour<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument>, ScriptableObject<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument>
Template Parameters
TFirstArgumentType of the first argument.
TSecondArgumentType of the second argument.
TThirdArgumentType of the third argument.
TFourthArgumentType of the fourth argument.

Object-derived classes that implement this interface can be instantiated with their dependency using the function. MonoBehaviour-derived classes that implement this interface can be added to a GameObject with their dependency using the GameObjectExtensions.AddComponent<TComponent, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument> function.

If the class also implements IInitializable<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument> then these functions can automatically inject the dependency to the IInitializable<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument>.Init function at the end of the initialization process; after the Awake and OnEnable events but before the Start event.

If the class does not implement IArgs<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument>, or if you you would like to retrieve the dependency at an earlier stage of the initialization process, you can use InitArgs.TryGet<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument>.

See also
IInitializable<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument>, MonoBehaviour<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument>, ScriptableObject<TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument>
Template Parameters
TFirstArgumentType of the first argument.
TSecondArgumentType of the second argument.
TThirdArgumentType of the third argument.
TFourthArgumentType of the fourth argument.
TFifthArgumentType of the fifth argument.
Inheritance diagram for Sisus.Init.IArgs< TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument >:
Sisus.Init.IFifthArgument< TFifthArgument > Sisus.Init.IThirdArgument< TThirdArgument > Sisus.Init.ISecondArgument< TSecondArgument > Sisus.Init.IFirstArgument< TFirstArgument > Sisus.Init.IFiveArguments Sisus.Init.IFourthArgument< TFourthArgument > Sisus.Init.IThirdArgument< TThirdArgument > Sisus.Init.ISecondArgument< TSecondArgument > Sisus.Init.IFirstArgument< TFirstArgument > Sisus.Init.IFourArguments Sisus.Init.IThirdArgument< TThirdArgument > Sisus.Init.ISecondArgument< TSecondArgument > Sisus.Init.IFirstArgument< TFirstArgument > Sisus.Init.IThreeArguments Sisus.Init.ISecondArgument< TSecondArgument > Sisus.Init.IFirstArgument< TFirstArgument > Sisus.Init.ITwoArguments Sisus.Init.IFirstArgument< TArgument > Sisus.Init.IOneArgument Sisus.Init.IInitializable< TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.MonoBehaviour< TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.ScriptableObject< TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.Initializer< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.Initializer< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.Initializer< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.Initializer< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.Initializer< TClient, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.Updater Sisus.Init.Wrapper< TWrapped > Sisus.Init.WrapperInitializer< TWrapper, TWrapped, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.WrapperInitializer< TWrapper, TWrapped, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.WrapperInitializer< TWrapper, TWrapped, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.WrapperInitializer< TWrapper, TWrapped, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.WrapperInitializer< TWrapper, TWrapped, TFirstArgument, TSecondArgument, TThirdArgument, TFourthArgument, TFifthArgument > Sisus.Init.ScriptableWrapper< TWrapped >