Exemplo n.º 1
0
 internal static void Update(Tower tower)
 {
     Location = new RectangleF(tower.ViewX + 50, tower.ViewY, tower.ViewX + 150, tower.ViewY + 150);
     Buttons[0] = new Button("Upgrade", (int)(Location.Left + 10), (int)(Location.Top + 80),60,40) { fontsize = 10f};
     Tower = null;
     Tower = tower;
 }
Exemplo n.º 2
0
Arquivo: Game.cs Projeto: DarkLotus/TD
        private void handleInGameInput(System.Windows.Forms.MouseEventArgs click)
        {
            foreach (var z in this.World.UIElements)
            {
                if (Helper.Contains(z.button, click.Location))
                {
                    if (z.Text == "Pause Game")
                    {
                        this.GameState = Tower_Defense.GameState.InGamePause;
                        //this.Menu = new PauseMenu();
                        return;
                    }
                    if (z.Text == "Next Wave")
                    {
                        this.World.NextWave();
                        return;
                    }
                    if (z.Text == "Exit")
                    {
                        GameState = Tower_Defense.GameState.MainMenu;
                        //this.Menu = new MainMenu();
                        World = null;
                        return;
                    }
                    if (z.Text == "Speed")
                    {
                        if (Helper.GameSpeed == 1)
                            Helper.GameSpeed = 2;
                        else
                            Helper.GameSpeed = 1;
                        return;
                    }
                }
            }
            if (this.World != null)
            {
                if (this.World.ShowUpgradeMenu)
                {
                    if (Helper.Contains(UpgradeMenu.Buttons[0].button, click.Location))
                    {
                        if (World.Player.Gold > UpgradeMenu.Tower.UpgradeCost)
                        {
                            World.Player.Gold -= UpgradeMenu.Tower.UpgradeCost;
                            UpgradeMenu.Tower.LevelUP();
                        }
                        this.World.ShowUpgradeMenu = false;
                        return;
                    }
                    else
                    {
                        this.World.ShowUpgradeMenu = false;
                        return;
                    }
                }
                foreach (TowerBuildButton o in World.BuildMenu.Buttons)
                {
                    if (Helper.Contains(o.button, click.Location))
                    {
                        TowerToBuild = (Tower)Assembly.GetAssembly(o.towerType).CreateInstance(o.towerType.FullName);
                        return;
                    }
                }
            if (!Helper.Contains(GameForm.ViewPort, click.Location))
                return;
            foreach (var o in this.World.DrawableObjects)
                if (Helper.Contains(o.ScreenSprite, click.Location))
                {
                    if (o.Type == ObjectType.Tower)
                    {
                        UpgradeMenu.Update((Tower)o);
                        this.World.ShowUpgradeMenu = true;
                    }
                }

            foreach (var m in this.World.Map.Map)
                if (Helper.Contains(m.ScreenSprite, click.Location))
                {
                    if (TowerToBuild != null)
                        BuildTower(m);
                }
            return;
            }
        }
Exemplo n.º 3
0
 private void towerType(Tower t)
 {
 }
Exemplo n.º 4
0
Arquivo: Game.cs Projeto: DarkLotus/TD
 private void BuildTower(Level.MapTile m)
 {
     if (World.Player.Gold < TowerToBuild.Cost || m.Type != Level.MapTileType.EmptyTile)
     {
         TowerToBuild = null;
         return;
     }
     World.Player.Gold -= TowerToBuild.Cost;
     m.Type = Level.MapTileType.TowerHere;
     Tower t = TowerToBuild;
     t.WorldX = m.WorldX;
     t.WorldY = m.WorldY;
     World.DrawableObjects.Add(t);
     TowerToBuild = null;
 }
Exemplo n.º 5
0
 private void towerRange(Tower t)
 {
 }