void Start() { ContextProvider context; playerObjectPool = new PlayerObjectPool(); BuildChoiceUpdater buildChoiceUpdater = new BuildChoiceUpdater(); placementController = new PlacementController(playerObjectPool, buildChoiceUpdater); UnitBuildChoiceProvider unitBuildChoiceProvider = new UnitBuildChoiceProvider(placementController); InfantryManager infantryManager = new InfantryManager(unitBuildChoiceProvider); context = new ContextProvider(this, playerObjectPool, buildChoiceUpdater, infantryManager); selectionController = new SelectionController(context); selectedGroupController = new SelectedGroupController(context); IBuildingManager playerBaseManager = new PlayerBaseManager(context); placementController.RegisterBuildingManager(playerBaseManager); playerObjectPool.RegisterSelectableObjectContainer(playerBaseManager); unitBuildChoiceProvider.RegisterBloodBuildable(playerBaseManager); IBuildingManager barracksManager = new BarracksManager(context); placementController.RegisterBuildingManager(barracksManager); playerObjectPool.RegisterSelectableObjectContainer(barracksManager); unitBuildChoiceProvider.RegisterBloodBuildable(barracksManager); playerObjectPool.RegisterSelectableObjectContainer(infantryManager); Camera.main.gameObject.AddComponent <PCCameraController>(); GameObject hud = SetupHUD(); PlayerResources.GetInstance().RegisterListener(hud.GetComponent <BloodCounterHUD>()); PlayerResources.GetInstance().RegisterListener(buildChoiceUpdater); buildChoiceUpdater.RegisterBuildChoiceChangeListener(hud.GetComponent <ActionsMenuHUD>()); }
private void Awake() { _barracksManager = FindObjectOfType <BarracksManager>(); _partyInventory = FindObjectOfType <PartyInventory>(); _playerManager = FindObjectOfType <PlayerManager>(); }