Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Root Container:
- void SetupContainer()
- {
- container = new Container();
- // input
- container.BindSelf<GameControls>();
- container.BindSelf<MouseController>();
- container.BindSelf<CameraRig>();
- // vehicle builder
- container.BindSelf<VehicleBuilder>();
- }
- // Vehicle builder:
- public class VehicleBuilder : MonoBehaviour
- {
- [Inject] IContainer ParentContainer { get; set; }
- public Vehicle Create()
- {
- // the "scope" container used to construct just a vehicle
- var container = CreateScopeContainer(ParentContainer);
- return container.Build<Vehicle>();
- }
- IContainer CreateScopeContainer(IContainer parentContainer)
- {
- var container = new Container(parentContainer);
- container.BindSelf<Vehicle>();
- container.BindSelf<Motor>();
- container.BindSelf<VehicleConstraints>();
- container.BindSelf<VehiclePlayerControl>();
- return container;
- }
- }
- // Usage:
- var vehicleBuilder = rootContainer.Build<VehicleBuilder>();
- var vehicle = vehicleBuilder.Create();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement