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)); }
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); }