internal Initializer(Controllers controller, GameData gameData)
        {
            var inputInitialized = new InputController(new PCInput());

            controller.AddController(inputInitialized);

            ServiceLocator.SetService(new ShipProviderPool(gameData.Ship.Provider));

            var shipWeaponFactory = new ShipWeaponFactory(
                gameData.ShipWeapon,
                new ShipWeaponBulletsPool(gameData.ShipWeapon.Bullet));

            var shipFactory = new ShipInitializer(
                gameData.Ship,
                ServiceLocator.Resolve <ShipProviderPool>(),
                shipWeaponFactory.GetShipWeapon);

            controller.AddController(shipFactory.CreateShipFromData(gameData.Ship));

            var playerInitialized = new PlayerInitializer(shipFactory.GetShip, gameData.Player, inputInitialized.Input);

            controller.AddController(playerInitialized.PlayerController);

            var cameraInitialized = new CameraInitializer(gameData.Camera, shipFactory.GetShip);

            controller.AddController(cameraInitialized.CameraController);

            IEnemyFactory factory = new AsteroidFactory();

            factory.Create(new Health(100.0f, 100.0f));
        }
Example #2
0
 private void Awake()
 {
     var selectedCharacterData     = new SelectedCharacterData();
     var controllableCharacterData = new ControllableCharacterData();
     var mainCamera = new CameraInitializer(cameraConfigs, new Vector3(0, 0, 0), new Vector3(0, 0, 0));
     var skeleton   = new CharacterInitializer(selectedCharacterData, controllableCharacterData, skeletonWarriorConfigs, new Vector3(0f, -2, -56f), new Vector3(-90, 0, 0));
     var canvas     = new CanvasInitializer(canvasConfigs, selectedCharacterData);
     var input      = new InputManagerInitializer(inputConfigs, controllableCharacterData);
 }