Exemplo n.º 1
0
 public void BuyPlaceTower(TowerTypes type)
 {
     if (!towers.ContainsKey(selectedTile) && CurrentPlayer.WithdrawalMoney(TowerFactory.GetTowerCost(type)))
     {
         towers.Add(selectedTile, TowerFactory.GetTower(type, new Vector2(selectedTile.X * TileDimensions.X, selectedTile.Y * TileDimensions.Y)));
     }
 }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        private void StartPlacingTower()
        {
            _towers.RemoveAll(t => t.TowerStateEnum == TowerStateEnum.Setup);
            TowerBase newTower = _towerFactory.GetTower(_time, this, new TowerSettings
            {
                Powah          = 1,
                RangePixels    = 100,
                ShootFrequency = TimeSpan.FromSeconds(1),
                CostBase       = 10
            });

            newTower.Init();

            if (_resources.TryTake(newTower.Settings.CostBase))
            {
                _towers.Add(newTower);
            }
        }
Exemplo n.º 4
0
        private void StartPlacingTower()
        {
            _towerBeingPlaced = null;
            TowerBase newTower = _towerFactory.GetTower(_time, this,
                                                        new TowerSettings
            {
                Powah          = 1,
                RangePixels    = 100,
                ShootFrequency = TimeSpan.FromSeconds(1),
                CostBase       = 10
            },
                                                        _graphicsTracker);

            newTower.Init();

            if (_resources.DoesAfford(newTower.Settings.CostBase))
            {
                // Add the tower (has "Setup" state).
                _towerBeingPlaced = newTower;
            }
        }
Exemplo n.º 5
0
        public void OnTowerButtonClicked(object obj, EventArgs args)
        {
            string towerName = ((Button)obj).AttachedObject as string;

            towerPlacer.TargetTower = TowerFactory.GetTower(towerName);
        }