private void CreateButtons(TowerSelectorController towerSelector) { // Tower1 Buttons.Add(new TowerButton( ButtonsOffset + new Vector2(10f, 30f), new Vector2(100f, 80f), TowerFactory.GetTower("Tower1"), new Rectangle(0, 0, 100, 60), 200) { TextPosition = new Vector2(50f, 70f), AttachedObject = "Tower1" }); // Tower2 Buttons.Add(new TowerButton( ButtonsOffset + new Vector2(120f, 30f), new Vector2(100f, 80f), TowerFactory.GetTower("Tower2"), new Rectangle(0, 0, 100, 60), 200) { TextPosition = new Vector2(50f, 70f), AttachedObject = "Tower2" }); foreach (Button button in Buttons) { button.OnClicked += towerSelector.OnTowerButtonClicked; } }
public AvailableTowersUiView(ButtonManager buttonManager, TowerSelectorController towerSelector, Rectangle backgroundRect) { this.buttonManager = buttonManager; BackgroundRect = backgroundRect; ButtonsOffset = backgroundRect.Location.ToVector2(); Buttons = new List <Button>(); CreateButtons(towerSelector); buttonManager.AddButtons(Buttons); ViewGroupId = new HashSet <int>(); Enabled = true; }
public TestScreen() { camera = new Camera(new Vector2(0, 0)) { Scale = new Vector2(0.8f) }; enemyManager = new EnemyManager(); towerManager = new TowerManager(enemyManager); bulletManager = new BulletManager(enemyManager); particleManager = new ParticleManager(); towerPlacer = new TowerPlacer(towerManager); selectTowerController = new SelectTowerController(towerManager, towerPlacer, camera); spawnerController = new EnemySpawnerController(enemyManager); TowerSelectorController towerSelector = new TowerSelectorController(camera, towerPlacer, bulletManager, enemyManager, particleManager); // Create Tower prefabs. TowerFactory.Add("Tower1", new TestTower(bulletManager, enemyManager, particleManager)); TowerFactory.Add("Tower2", new MachineGunPlaneTower(bulletManager, enemyManager, particleManager)); enemyManager.OnEnemyReachedLastPoint += OnEnemyReachedGoal; // Controllers. controllers.Add(selectTowerController); controllers.Add(new MapMoverController(camera)); controllers.Add(spawnerController); controllers.Add(enemyManager); controllers.Add(towerManager); controllers.Add(bulletManager); controllers.Add(particleManager); controllers.Add(towerSelector); //controllers.Add(new TestTowerPlacerScript(towerPlacer, TowerFactory.GetTower("Tower2"))); // TEST! // Views. views.Add(new SelectedTowerView(selectTowerController)); views.Add(new MapView()); views.Add(enemyManager); views.Add(towerManager); views.Add(bulletManager); views.Add(particleManager); AvailableTowersUiView availableTowersUi = new AvailableTowersUiView(new ButtonManager(), towerSelector, new Rectangle(700, 0, 300, 550)); MouseOverlapsUI.AvailableTowersUi = availableTowersUi; // UI. uiViews.Add(availableTowersUi); spawnerController.Enabled = false; }