Exemple #1
0
        private void InitializeUpgradeButtons()
        {
            Remove(UpgradeBox);
            UpgradeBox = new GroupBox(Manager);
            Add(UpgradeBox);

            UpgradeBox.Init();
            UpgradeBox.Left      = 2;
            UpgradeBox.Top       = infoBox.Top + infoBox.Height + 2;
            UpgradeBox.Width     = UpgradeBox.Parent.Width - 4;
            UpgradeBox.Height    = UpgradeBox.Parent.Height - UpgradeBox.Top - 2;
            UpgradeBox.Text      = "Upgrades";
            UpgradeBox.TextColor = Microsoft.Xna.Framework.Color.LightGray;

            UpgradeBox.AutoScroll = false;
            foreach (Button button in Buttons)
            {
                UpgradeBox.Remove(button);
                Remove(button);
                button.Visible = false;
                button.Invalidate();
            }
            Buttons.Clear();
            lastWidth = 0;

            SpriteFont cFont = Skin.Layers[0].Text.Font.Resource;

            UpgradeBox.Enabled = Tower.PossibleUpgrades.Count > 0;
            foreach (var upgrade in Tower.PossibleUpgrades)
            {
                var button = new Button(Manager);
                button.Init();
                UpgradeBox.Add(button);
                Buttons.Add(button);
                button.Text    = upgrade.Value.Name;
                button.Width   = (int)cFont.MeasureString(button.Text).X + 15;
                button.Left    = 6 + lastWidth;
                button.Top     = 14;
                button.Tag     = upgrade.Value.Key;
                button.Enabled = GamePlayScreen.MoneyManager.Money >= upgrade.Value.Price;
                button.Click  += button_Click;
                button.ToolTip = new ToolTip(Manager)
                {
                    Text = string.Format("Neuer Wert: {0}\nPreis: {1}", upgrade.Value.Value,
                                         upgrade.Value.Price)
                };
                if (upgrade.Value.Description.Length > 0)
                {
                    button.ToolTip.Text += string.Format("\nBeschreibung: {0}", upgrade.Value.Description);
                }

                lastWidth = button.Left + button.Width;
            }

            UpgradeBox.AutoScroll = true;
            UpgradeBox.Refresh();
        }
Exemple #2
0
        /// <summary>
        /// create use interface
        /// </summary>
        private void CreateInterface()
        {
            // Create base
            if_win = new Window(manager);
            if_win.Init();
            if_win.Text        = "Status";
            if_win.IconVisible = false;
            if_win.Center();
            if_win.Width      = 246;
            if_win.Height     = 350;
            if_win.Visible    = false;
            if_win.Resizable  = false;
            if_win.ResizeEnd += new EventHandler(if_win_ResizeEnd);

            if_name = new StatusBox(manager);
            if_name.Init();
            if_name.Left     = 3;
            if_name.SizeMode = SizeMode.Stretched;
            if_name.Value    = player.name;
            if_name.Top      = 5;
            if_name.Width    = 226;
            if_name.Height   = 23;
            if_name.Parent   = if_win;
            if_name.Image    = manager.Content.Load <Texture2D>("Content\\Temp\\status_0");

            if_title = new StatusBox(manager);
            if_title.Init();
            if_title.SizeMode = SizeMode.Stretched;
            if_title.Value    = player.titlename;
            if_title.Left     = 3;
            if_title.Top      = 28;
            if_title.Width    = 226;
            if_title.Height   = 23;
            if_title.Parent   = if_win;
            if_title.Image    = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            manager.Add(if_win);
            // Create first group
            if_panel1 = new GroupBox(manager);
            if_panel1.Init();
            if_panel1.Text   = "";
            if_panel1.Left   = 3;
            if_panel1.Top    = 52;
            if_panel1.Width  = 226;
            if_panel1.Height = 97;
            if_panel1.Parent = if_win;

            if_hptitle = new StatusBox(manager);
            if_hptitle.Init();
            if_hptitle.SizeMode = SizeMode.Stretched;
            if_hptitle.Left     = 10;
            if_hptitle.Top      = 19;
            if_hptitle.Width    = 55;
            if_hptitle.Height   = 19;
            if_hptitle.Parent   = if_panel1;
            if_hptitle.Image    = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_mptitle = new StatusBox(manager);
            if_mptitle.Init();
            if_mptitle.SizeMode = SizeMode.Stretched;
            if_mptitle.Left     = 10;
            if_mptitle.Top      = 39;
            if_mptitle.Width    = 55;
            if_mptitle.Height   = 19;
            if_mptitle.Parent   = if_panel1;
            if_mptitle.Image    = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_aptitle = new StatusBox(manager);
            if_aptitle.Init();
            if_aptitle.SizeMode = SizeMode.Stretched;
            if_aptitle.Left     = 10;
            if_aptitle.Top      = 59;
            if_aptitle.Width    = 55;
            if_aptitle.Height   = 19;
            if_aptitle.Parent   = if_panel1;
            if_aptitle.Image    = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_hpbar = new ProgressBar(manager);
            if_hpbar.Init();
            if_hpbar.Mode   = ProgressBarMode.Default;
            if_hpbar.Range  = player.maxhp;
            if_hpbar.Value  = player.hp;
            if_hpbar.Color  = Color.Red;
            if_hpbar.Left   = 71;
            if_hpbar.Top    = 19;
            if_hpbar.Width  = 147;
            if_hpbar.Height = 19;
            if_hpbar.Parent = if_panel1;

            if_mpbar = new ProgressBar(manager);
            if_mpbar.Init();
            if_mpbar.Range  = player.maxmp;
            if_mpbar.Value  = player.mp;
            if_mpbar.Color  = Color.Blue;
            if_mpbar.Left   = 71;
            if_mpbar.Top    = 39;
            if_mpbar.Width  = 147;
            if_mpbar.Height = 19;
            if_mpbar.Parent = if_panel1;

            if_apbar = new ProgressBar(manager);
            if_apbar.Init();
            if_apbar.Range  = player.maxchari;
            if_apbar.Value  = player.chari;
            if_apbar.Color  = Color.YellowGreen;
            if_apbar.Left   = 71;
            if_apbar.Top    = 59;
            if_apbar.Width  = 147;
            if_apbar.Height = 19;
            if_apbar.Parent = if_panel1;

            if_expbar = new ProgressBar(manager);
            if_expbar.Init();
            if_expbar.Range  = player.expnextlevel;
            if_expbar.Value  = player.exp;
            if_expbar.Color  = Color.Wheat;
            if_expbar.Left   = 10;
            if_expbar.Top    = 79;
            if_expbar.Width  = 208;
            if_expbar.Height = 12;
            if_expbar.Parent = if_panel1;

            // create second group
            if_panel2 = new GroupBox(manager);
            if_panel2.Init();
            if_panel2.Left   = 3;
            if_panel2.Top    = 149;
            if_panel2.Width  = 226;
            if_panel2.Height = 141;
            if_panel2.Parent = if_win;

            if_atk = new StatusBox(manager);
            if_atk.Init();
            if_atk.SizeMode      = SizeMode.Stretched;
            if_atk.Value         = player.str.ToString() + " ";
            if_atk.TextAlignment = Alignment.MiddleRight;
            if_atk.Label         = " Str : ";
            if_atk.LabelColor    = Color.Red;
            if_atk.SizeMode      = SizeMode.Stretched;
            if_atk.Left          = 10;
            if_atk.SizeMode      = SizeMode.Stretched;
            if_atk.Top           = 19;
            if_atk.Width         = 85;
            if_atk.Height        = 19;
            if_atk.Parent        = if_panel2;
            if_atk.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_agi = new StatusBox(manager);
            if_agi.Init();
            if_agi.SizeMode      = SizeMode.Stretched;
            if_agi.Value         = player.agi.ToString() + " ";
            if_agi.TextAlignment = Alignment.MiddleRight;
            if_agi.Label         = " Agi : ";
            if_agi.LabelColor    = Color.Red;
            if_agi.Left          = 10;
            if_agi.Top           = 38;
            if_agi.Width         = 85;
            if_agi.Height        = 19;
            if_agi.Parent        = if_panel2;
            if_agi.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_mag = new StatusBox(manager);
            if_mag.Init();
            if_mag.SizeMode      = SizeMode.Stretched;
            if_mag.Value         = player.mag.ToString() + " ";
            if_mag.TextAlignment = Alignment.MiddleRight;
            if_mag.Label         = " Mag : ";
            if_mag.LabelColor    = Color.Red;
            if_mag.Left          = 10;
            if_mag.Top           = 57;
            if_mag.Width         = 85;
            if_mag.Height        = 19;
            if_mag.Parent        = if_panel2;
            if_mag.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_luk = new StatusBox(manager);
            if_luk.Init();
            if_luk.SizeMode      = SizeMode.Stretched;
            if_luk.Value         = player.luk.ToString() + " ";
            if_luk.TextAlignment = Alignment.MiddleRight;
            if_luk.Label         = " Luck : ";
            if_luk.LabelColor    = Color.Red;
            if_luk.Left          = 10;
            if_luk.Top           = 76;
            if_luk.Width         = 85;
            if_luk.Height        = 19;
            if_luk.Parent        = if_panel2;
            if_luk.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_crit = new StatusBox(manager);
            if_crit.Init();
            if_crit.SizeMode      = SizeMode.Stretched;
            if_crit.Value         = player.crit.ToString() + " ";
            if_crit.TextAlignment = Alignment.MiddleRight;
            if_crit.Label         = " Crit : ";
            if_crit.LabelColor    = Color.Red;
            if_crit.Left          = 10;
            if_crit.Top           = 95;
            if_crit.Width         = 85;
            if_crit.Height        = 19;
            if_crit.Parent        = if_panel2;
            if_crit.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_3");

            if_drop = new StatusBox(manager);
            if_drop.Init();
            if_drop.SizeMode      = SizeMode.Stretched;
            if_drop.Value         = player.droprate.ToString() + " ";
            if_drop.TextAlignment = Alignment.MiddleRight;
            if_drop.Label         = " Drop : ";
            if_drop.LabelColor    = Color.Red;
            if_drop.Left          = 10;
            if_drop.Top           = 114;
            if_drop.Width         = 85;
            if_drop.Height        = 19;
            if_drop.Parent        = if_panel2;
            if_drop.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_3");

            if_subpanel = new Panel(manager);
            if_subpanel.Init();
            if_subpanel.Left   = 101;
            if_subpanel.Top    = 19;
            if_subpanel.Width  = 117;
            if_subpanel.Height = 65;
            if_subpanel.Parent = if_panel2;

            if_atksub = new StatusBox(manager);
            if_atksub.Init();
            if_atksub.SizeMode      = SizeMode.Stretched;
            if_atksub.Value         = player.pysatk.ToString() + " ";
            if_atksub.TextAlignment = Alignment.MiddleRight;
            if_atksub.Label         = " Pys Atk : ";
            if_atksub.LabelColor    = Color.Red;
            if_atksub.Left          = 3;
            if_atksub.Top           = 3;
            if_atksub.Width         = 111;
            if_atksub.Height        = 19;
            if_atksub.Parent        = if_subpanel;
            if_atksub.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_0");

            if_defsub = new StatusBox(manager);
            if_defsub.Init();
            if_defsub.SizeMode      = SizeMode.Stretched;
            if_defsub.Value         = player.pysdef.ToString() + " ";
            if_defsub.TextAlignment = Alignment.MiddleRight;
            if_defsub.Label         = " Pys Def : ";
            if_defsub.LabelColor    = Color.Red;
            if_defsub.Left          = 3;
            if_defsub.Top           = 22;
            if_defsub.Width         = 111;
            if_defsub.Height        = 19;
            if_defsub.Parent        = if_subpanel;
            if_defsub.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_0");

            if_speedsub = new StatusBox(manager);
            if_speedsub.Init();
            if_speedsub.SizeMode      = SizeMode.Stretched;
            if_speedsub.Value         = player.pysatkspeed.ToString() + " ";
            if_speedsub.TextAlignment = Alignment.MiddleRight;
            if_speedsub.Label         = " Pys Speed : ";
            if_speedsub.LabelColor    = Color.Red;
            if_speedsub.Left          = 3;
            if_speedsub.Top           = 41;
            if_speedsub.Width         = 111;
            if_speedsub.Height        = 19;
            if_speedsub.Parent        = if_subpanel;
            if_speedsub.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_0");

            if_fire = new StatusBox(manager);
            if_fire.Init();
            if_fire.SizeMode      = SizeMode.Stretched;
            if_fire.Value         = player.av_fire.ToString();
            if_fire.TextAlignment = Alignment.MiddleCenter;
            if_fire.Left          = 101;
            if_fire.Top           = 90;
            if_fire.Width         = 29;
            if_fire.Height        = 19;
            if_fire.Parent        = if_panel2;
            if_fire.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_air = new StatusBox(manager);
            if_air.Init();
            if_air.Value         = player.av_air.ToString();
            if_air.TextAlignment = Alignment.MiddleCenter;
            if_air.SizeMode      = SizeMode.Stretched;
            if_air.Left          = 130;
            if_air.Top           = 90;
            if_air.Width         = 29;
            if_air.Height        = 19;
            if_air.Parent        = if_panel2;
            if_air.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_lighting = new StatusBox(manager);
            if_lighting.Init();
            if_lighting.Value         = player.av_lighting.ToString();
            if_lighting.TextAlignment = Alignment.MiddleCenter;
            if_lighting.SizeMode      = SizeMode.Stretched;
            if_lighting.Left          = 160;
            if_lighting.Top           = 90;
            if_lighting.Width         = 29;
            if_lighting.Height        = 19;
            if_lighting.Parent        = if_panel2;
            if_lighting.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_light = new StatusBox(manager);
            if_light.Init();
            if_light.Value         = player.av_light.ToString();
            if_light.TextAlignment = Alignment.MiddleCenter;
            if_light.SizeMode      = SizeMode.Stretched;
            if_light.Left          = 189;
            if_light.Top           = 90;
            if_light.Width         = 29;
            if_light.Height        = 19;
            if_light.Parent        = if_panel2;
            if_light.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_wind = new StatusBox(manager);
            if_wind.Init();
            if_wind.Value         = player.av_wind.ToString();
            if_wind.TextAlignment = Alignment.MiddleCenter;
            if_wind.SizeMode      = SizeMode.Stretched;
            if_wind.Left          = 101;
            if_wind.Top           = 114;
            if_wind.Width         = 29;
            if_wind.Height        = 19;
            if_wind.Parent        = if_panel2;
            if_wind.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_water = new StatusBox(manager);
            if_water.Init();
            if_water.Value         = player.av_water.ToString();
            if_water.TextAlignment = Alignment.MiddleCenter;
            if_water.SizeMode      = SizeMode.Stretched;
            if_water.Left          = 130;
            if_water.Top           = 114;
            if_water.Width         = 29;
            if_water.Height        = 19;
            if_water.Parent        = if_panel2;
            if_water.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_earth = new StatusBox(manager);
            if_earth.Init();
            if_earth.Value         = player.av_earth.ToString();
            if_earth.TextAlignment = Alignment.MiddleCenter;
            if_earth.SizeMode      = SizeMode.Stretched;
            if_earth.Left          = 160;
            if_earth.Top           = 114;
            if_earth.Width         = 29;
            if_earth.Height        = 19;
            if_earth.Parent        = if_panel2;
            if_earth.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");

            if_shadow = new StatusBox(manager);
            if_shadow.Init();
            if_shadow.Value         = player.av_shadow.ToString();
            if_shadow.TextAlignment = Alignment.MiddleCenter;
            if_shadow.SizeMode      = SizeMode.Stretched;
            if_shadow.Left          = 189;
            if_shadow.Top           = 114;
            if_shadow.Width         = 29;
            if_shadow.Height        = 19;
            if_shadow.Parent        = if_panel2;
            if_shadow.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");
            // create status point
            if_statuspoint = new StatusBox(manager);
            if_statuspoint.Init();
            if_statuspoint.SizeMode      = SizeMode.Stretched;
            if_statuspoint.Left          = 152;
            if_statuspoint.Top           = 292;
            if_statuspoint.Width         = 75;
            if_statuspoint.Height        = 18;
            if_statuspoint.Value         = player.APoint.ToString() + " ";
            if_statuspoint.TextAlignment = Alignment.MiddleRight;
            if_statuspoint.Label         = " AP : ";
            if_statuspoint.LabelColor    = Color.Red;
            if_statuspoint.Parent        = if_win;
            if_statuspoint.Image         = manager.Content.Load <Texture2D>("Content\\Temp\\status_1");
        }
Exemple #3
0
        public override void Init(bool damage, bool range, bool interval)
        {
            base.Init(damage, range, interval);
            Height = DesiredHeight;
            Width  = DesiredWidth;
            lblDescription.Visible = false;
            Passive = false;

            if ((DesiredLeft + DesiredWidth < CurrGame.CreepFieldWidth) || (DesiredLeft - DesiredWidth) < 0)
            {
                Left = DesiredLeft;
            }
            else
            {
                Left = DesiredLeft - DesiredWidth;
            }

            if (DesiredTop + DesiredHeight < CurrGame.CreepFieldHeight)
            {
                Top = DesiredTop;
            }
            else
            {
                Top = DesiredTop - DesiredHeight;
            }


            infoBox = new GroupBox(Manager);
            infoBox.Init();
            Add(infoBox);
            infoBox.Left      = 2;
            infoBox.Top       = 2;
            infoBox.Width     = infoBox.Parent.Width - 4;
            infoBox.Height    = 160;
            infoBox.Text      = "Eigenschaften";
            infoBox.TextColor = Microsoft.Xna.Framework.Color.LightGray;

            InitializeControls(infoBox, 14);
            InitializeCustomLabels();
            UpdateTowerInformation();

            var sellButton = new Button(Manager);

            sellButton.Init();
            infoBox.Add(sellButton);
            sellButton.Text    = "Verkaufen";
            sellButton.ToolTip = new ToolTip(Manager)
            {
                Text = "Verkaufpreis: Preis * 75%"
            };
            sellButton.Left   = 220;
            sellButton.Top    = 14;
            sellButton.Width  = sellButton.Parent.Width - sellButton.Left - 5;
            sellButton.Click += delegate
            {
                Tower.Sell();
                Close();
            };

            InitializeUpgradeButtons();

            Closing           += TowerInfoWindow_Closing;
            CloseButtonVisible = true;
            Passive            = false;
            Resizable          = false;
            Movable            = true;
            GamePlayScreen.MoneyManager.MoneyChanged += MoneyManager_MoneyChanged;
        }
Exemple #4
0
        private void InitializeControls()
        {
            manager = new Manager(CurrGame, CurrGame.Graphics, "Green")
            {
                SkinDirectory = CurrGame.ApplicationDirectory + @"\Content\GUI\Skin\"
            };
            try
            {
                manager.Initialize();
            }
            catch (Exception)
            {
                throw;
            }

            manager.AutoCreateRenderTarget = true;

            Console = new Console(manager);
            Console.Init();
            LoadConsoleCommands();
            manager.Add(Console);
            Console.ChannelsVisible = false;
            Console.MessageSent    += Console_MessageSent;
            Console.MessageFormat   = ConsoleMessageFormats.None;
            Console.Width           = manager.ScreenWidth;
            Console.Channels.Add(new ConsoleChannel(0, "[System]", Color.Orange));
            Console.Channels.Add(new ConsoleChannel(1, "[User]", Color.White));
            Console.Channels.Add(new ConsoleChannel(2, "[Error]", Color.DarkRed));
            Console.SelectedChannel = 1;
            Console.Hide();

            tabControl = new TabControl(manager);
            tabControl.Init();
            tabControl.Left   = CurrGame.CreepFieldWidth;
            tabControl.Top    = 0;
            tabControl.Width  = CurrGame.Width - CurrGame.CreepFieldWidth;
            tabControl.Height = CurrGame.Height;

            #region Gameplaypage

            GameplayPage = tabControl.AddPage();
            GameplayPage.Init();
            GameplayPage.Text = "Spiel";

            #region Turmauswahl

            var thumbnailBox = new GroupBox(manager);
            thumbnailBox.Init();
            thumbnailBox.Parent = GameplayPage;
            thumbnailBox.Left   = 2;
            thumbnailBox.Top    = 2;
            thumbnailBox.Width  = thumbnailBox.Parent.Width - 4;
            thumbnailBox.Height = 100;

            int counter = 0;
            foreach (TowerClass towerClass in GamePlayScreen.TowerManager.TowerClassList)
            {
                var towerButton = new ImageButton(manager)
                {
                    Image    = GamePlayScreen.TowerManager.GetThumbnail(towerClass.TowerKey),
                    SizeMode = SizeMode.Stretched,
                    Top      = 14,
                    Tag      = towerClass
                };
                towerButton.Width      = towerButton.Height = 60;
                towerButton.Left       = 6 + counter * (towerButton.Width + 5);
                towerButton.Click     += towerButton_Click;
                towerButton.MouseOver += towerButton_MouseOver;
                towerButton.MouseOut  += towerButton_MouseOut;
                towerButton.Init();
                thumbnailBox.Add(towerButton);
                BuyTowerButtons.Add(towerButton);
                counter++;
            }

            thumbnailBox.AutoScroll = true;

            var scrollBar = new ScrollBar(manager, Orientation.Horizontal);
            scrollBar.Init();
            thumbnailBox.Add(scrollBar);
            scrollBar.Visible = false;

            #endregion

            #region Informationen

            var infoBox = new GroupBox(manager);
            infoBox.Init();
            infoBox.Parent = GameplayPage;
            infoBox.Text   = "Informationen";
            infoBox.Width  = infoBox.Parent.Width - 4;
            infoBox.Height = 110;
            infoBox.Left   = 2;
            infoBox.Top    = thumbnailBox.Top + thumbnailBox.Height + 2;

            CreepNumber = new Label(manager);
            CreepNumber.Init();
            CreepNumber.Parent  = infoBox;
            CreepNumber.Top     = 14;
            CreepNumber.Left    = 4;
            CreepNumber.Width   = CreepNumber.Parent.Width - 4;
            CreepNumber.ToolTip = new ToolTip(manager)
            {
                Text = "So viele Creeps sind momentan\nauf dem Spielfeld"
            };
            CreepNumber.Passive = false;

            CreepHealth = new Label(manager);
            CreepHealth.Init();
            CreepHealth.Parent  = infoBox;
            CreepHealth.Top     = CreepNumber.Top + CreepNumber.Height + 2;
            CreepHealth.Left    = CreepNumber.Left;
            CreepHealth.Width   = CreepHealth.Parent.Width - 4;
            CreepHealth.ToolTip = new ToolTip(manager)
            {
                Text = "Die Gesamtenergie aller auf dem\nSpielfeld befindlicher Creeps"
            };
            CreepHealth.Passive = false;

            Money = new Label(manager);
            Money.Init();
            Money.Parent  = infoBox;
            Money.Top     = CreepHealth.Top + CreepHealth.Height + 2;
            Money.Left    = CreepNumber.Left;
            Money.Width   = Money.Parent.Width - 4;
            Money.ToolTip = new ToolTip(manager)
            {
                Text = "So viel Geld besitzt der Spieler"
            };
            Money.Passive = false;

            OwnHealth = new Label(manager);
            OwnHealth.Init();
            OwnHealth.Parent  = infoBox;
            OwnHealth.Top     = Money.Top + Money.Height + 2;
            OwnHealth.Left    = CreepNumber.Left;
            OwnHealth.Width   = OwnHealth.Parent.Width - 4;
            OwnHealth.ToolTip = new ToolTip(manager)
            {
                Text = "So viel Energie hat der Spieler noch"
            };
            OwnHealth.Passive = false;

            Points = new Label(manager);
            Points.Init();
            Points.Parent  = infoBox;
            Points.Top     = OwnHealth.Top + OwnHealth.Height + 2;
            Points.Left    = CreepNumber.Left;
            Points.Width   = Points.Parent.Width - 4;
            Points.ToolTip = new ToolTip(manager)
            {
                Text = "So viele Punkte hat der Spieler schon.\nDie Punkte setzen sich aus Energie\nund Geschwindigkeit der Creeps zusammen.\nJe näher ein Gegner am Ziel ist, desto mehr\nPunkte gibt er."
            };
            Points.Passive = false;

            #endregion

            #region Waves

            var waveBox = new GroupBox(manager);
            waveBox.Init();
            waveBox.Parent = GameplayPage;
            waveBox.Text   = "Waves";
            waveBox.Left   = 2;
            waveBox.Top    = infoBox.Top + infoBox.Height + 2;
            waveBox.Width  = waveBox.Parent.Width - 4;
            waveBox.Height = 137;

            WaveNumber = new Label(manager);
            WaveNumber.Init();
            WaveNumber.Parent = waveBox;
            WaveNumber.Top    = 14;
            WaveNumber.Left   = 4;
            WaveNumber.Width  = WaveNumber.Parent.Width - 4;

            RealWaveNumber = new Label(manager);
            RealWaveNumber.Init();
            RealWaveNumber.Parent = waveBox;
            RealWaveNumber.Top    = WaveNumber.Top + WaveNumber.Height + 2;
            RealWaveNumber.Left   = WaveNumber.Left;
            RealWaveNumber.Width  = RealWaveNumber.Parent.Width - 4;

            CreepsLeft = new Label(manager);
            CreepsLeft.Init();
            CreepsLeft.Parent  = waveBox;
            CreepsLeft.Top     = RealWaveNumber.Top + RealWaveNumber.Height + 2;
            CreepsLeft.Left    = WaveNumber.Left;
            CreepsLeft.Width   = CreepsLeft.Parent.Width - 4;
            CreepsLeft.Passive = false;
            CreepsLeft.ToolTip = new ToolTip(manager)
            {
                Text = "So viele Creeps werden noch im Level erscheinen,\nbevor die Aktuelle Welle vorbei ist."
            };

            CreepHealthLevel = new Label(manager);
            CreepHealthLevel.Init();
            CreepHealthLevel.Parent  = waveBox;
            CreepHealthLevel.Top     = CreepsLeft.Top + CreepsLeft.Height + 2;
            CreepHealthLevel.Left    = WaveNumber.Left;
            CreepHealthLevel.Width   = CreepHealthLevel.Parent.Width - 4;
            CreepHealthLevel.Passive = false;
            CreepHealthLevel.ToolTip = new ToolTip(manager)
            {
                Text = "Wenn alle Waves eines Levels fertig sind, werden die Waves von Anfang anwiederholt.\nAllerdings steigt die Energie der Creeps dabei.\nDas Gesundheitsniveau liegt dieser Energie zugrunde."
            };

            TimeLeftNextWave = new Label(manager);
            TimeLeftNextWave.Init();
            TimeLeftNextWave.Parent = waveBox;
            TimeLeftNextWave.Top    = CreepHealthLevel.Top + CreepHealthLevel.Height + 2;
            TimeLeftNextWave.Left   = WaveNumber.Left;
            TimeLeftNextWave.Width  = TimeLeftNextWave.Parent.Width - 4;

            var nextWaveButton = new Button(manager);
            nextWaveButton.Init();
            nextWaveButton.Parent = waveBox;
            nextWaveButton.Text   = "Nächste Welle";
            nextWaveButton.Left   = 2;
            nextWaveButton.Top    = TimeLeftNextWave.Top + TimeLeftNextWave.Height + 2;
            nextWaveButton.Width  = nextWaveButton.Parent.Width - 4;
            nextWaveButton.Click += delegate { GamePlayScreen.StartNextWave(); };

            #endregion

            #region Spielsteuerung

            var gameBox = new GroupBox(manager);
            gameBox.Init();
            gameBox.Text   = "Spielsteuerung";
            gameBox.Parent = GameplayPage;
            gameBox.Width  = gameBox.Parent.Width - 4;
            gameBox.Height = 200;
            gameBox.Left   = 2;
            gameBox.Top    = waveBox.Top + waveBox.Height + 2;

            var playButton = new ImageButton(manager)
            {
                Image =
                    CurrGame.Content.Load <Texture2D>(CurrGame.ApplicationDirectory + "\\Content\\GUI\\play"),
                SizeMode = SizeMode.Stretched,
                Top      = 14,
                Left     = 2,
                Width    = 50
            };
            playButton.Height = playButton.Width;
            playButton.Click += ((sender, e) => GamePlayScreen.StartGame());
            playButton.Init();

            var pauseButton = new ImageButton(manager)
            {
                Image =
                    CurrGame.Content.Load <Texture2D>(CurrGame.ApplicationDirectory +
                                                      "\\Content\\GUI\\pause"),
                SizeMode = SizeMode.Stretched,
                Top      = 14,
                Left     = playButton.Left + playButton.Width + 4
            };
            pauseButton.Width  = pauseButton.Height = playButton.Width;
            pauseButton.Click += ((sender, e) => GamePlayScreen.StopGame());
            pauseButton.Init();

            gameBox.Add(playButton);
            gameBox.Add(pauseButton);

            #endregion

            RefreshGameInformation();

            #endregion

            #region Optionspage

            OptionsPage      = tabControl.AddPage();
            OptionsPage.Text = "Optionen";

            #endregion

            #region SaveLoadPage

            #endregion

            manager.Add(tabControl);
        }
Exemple #5
0
        private IGameState[] CardSelected(Manager manager, GameInfo gameInfo, Story story)
        {
            var       storyGraphic = gameInfo.Content.Load <Texture2D>(story.StoryGraphic);
            const int spacing      = 20;
            const int width        = 400;
            var       yPos         = spacing;

            var window = new Window(manager)
            {
                Text =
                    String.Format("Your fate has been decided! You spun a {0} story", story.StoryType), AutoScroll = false
            };

            window.Init();

            var storybox = new GroupBox(manager)
            {
                Width = 400, Height = 100, Left = 30, Top = yPos, Parent = window, Color = story.StoryType == StoryType.Red ? Color.Red : Color.Black, Text = "" + story.StoryType, TextColor = Color.White
            };

            storybox.Init();

            var storylabel = new Label(manager)
            {
                Width     = storybox.Width,
                Height    = storybox.Height,
                Parent    = storybox,
                Text      = story.DisplayedMessage,
                Left      = spacing,
                StayOnTop = true
            };

            storylabel.Init();

            var imageBox = new ImageBox(manager)
            {
                Left   = window.Width / 2 - 100,
                Top    = 140,
                Image  = storyGraphic,
                Color  = Color.White,
                Width  = storyGraphic.Width,
                Height = storyGraphic.Height
            };

            imageBox.Init();
            window.Add(imageBox);
            var close = new Button(manager)
            {
                Text = "OK", Top = window.Height - 50 - spacing, Left = window.Width / 2 - 50, Parent = window
            };

            close.Init();
            close.Click += (sender, args) => window.Close();

            window.Closed += (sender, args) => WindowClosed(gameInfo);

            manager.Add(window);

            if (story.Positive)
            {
                gameInfo.Content.Load <SoundEffect>("Sounds/applause").Play();
            }
            else
            {
                gameInfo.Content.Load <SoundEffect>("Sounds/sadtrombone").Play();
            }

            return(new[] { story.PureLogic, waitState });
        }
Exemple #6
0
        private void CreateFirstDisplayWindow(Manager manager, GameInfo gameInfo, Story red, Story black)
        {
            const int spacing = 20;
            const int width   = 500;
            int       yPos    = spacing;
            var       window  = new Window(manager)
            {
                Text = "Story card", Width = 600
            };

            window.Init();

            var descriptionlabel = new Label(manager)
            {
                Text = red.DisplayedMessage, Top = yPos, Width = width, Height = 70, Left = 30
            };

            descriptionlabel.Text =
                "When this window closes you will be required to spin the spinner.\n" +
                "If the spinner lands on a black spot you will undergo what the black card says.\n" +
                "If the spinner lands on a red spot you will undergo what the red card says.\n\n" +
                "These are stories you are spinning for!";
            yPos += descriptionlabel.Height + spacing / 2;

            var redstorybox = new GroupBox(manager)
            {
                Width = 500, Height = 100, Left = 30, Top = 100, Parent = window, Color = Color.Red, Text = "Red Story", TextColor = Color.White
            };

            redstorybox.Init();
            yPos += redstorybox.Height;
            var redstorylabel = new Label(manager)
            {
                Width     = redstorybox.Width,
                Height    = redstorybox.Height,
                Parent    = redstorybox,
                Text      = red.DisplayedMessage,
                Left      = spacing,
                StayOnTop = true
            };

            redstorylabel.Init();

            var blackstorybox = new GroupBox(manager)
            {
                Width = 500, Height = 100, Left = 30, Top = 200, Parent = window, Color = Color.Black, Text = "Black Story", TextColor = Color.White
            };

            blackstorybox.Init();
            yPos += blackstorybox.Height + spacing / 2;

            var blackstorylabel = new Label(manager)
            {
                Width     = blackstorybox.Width,
                Height    = blackstorybox.Height,
                Parent    = blackstorybox,
                Text      = black.DisplayedMessage,
                Left      = spacing,
                StayOnTop = true
            };

            blackstorylabel.Init();

            var close = new Button(manager)
            {
                Text = "OK", Top = yPos, Left = window.Width / 2 - 50, Parent = window
            };

            close.Init();
            close.Click += (sender, args) => window.Close();
            yPos        += close.Height + spacing;

            window.Add(descriptionlabel);
            window.Height = blackstorybox.Height + redstorybox.Height + yPos / 2;
            manager.Add(window);

            window.Closed += (sender, args) => WindowClosed(gameInfo);

            gameInfo.CreateMessage("Click the spinner to see your story!");
        }
Exemple #7
0
        /// <summary>
        /// Initializes UI elements
        /// </summary>
        private void InitControls()
        {
            //Map

            MapControl = new MapWindow(Manager);
            MapControl.Init();
            MapControl.SetPosition(201, 0);
            MapControl.Environment = Environment;
            MapControl.Renderer    = Renderers[0];
            MapControl.SetSize(Height, Height);
            MapControl.Resizable = true;
            MapControl.Movable   = true;
            Add(MapControl);

            //Left side bar

            SideBar = new SideBar(Manager);
            SideBar.Init();
            SideBar.StayOnBack = true;
            SideBar.Passive    = true;
            SideBar.SetSize(200, Height);
            SideBar.Anchor = Anchors.Left | Anchors.Top | Anchors.Bottom;

            Add(SideBar);

            NewMapBtn = new Button(Manager);
            NewMapBtn.Init();
            NewMapBtn.Text = "New Map";
            NewMapBtn.SetPosition(25, 10);
            NewMapBtn.SetSize(150, 25);
            NewMapBtn.Anchor = Anchors.Top | Anchors.Left;
            NewMapBtn.Click += new EventHandler(NewMapBtn_Click);
            SideBar.Add(NewMapBtn);

            SelectMapBtn = new Button(Manager);
            SelectMapBtn.Init();
            SelectMapBtn.Text   = "Select Map";
            SelectMapBtn.Click += new EventHandler(selectMapBtn_Click);
            SelectMapBtn.SetPosition(25, 40);
            SelectMapBtn.SetSize(150, 25);
            SelectMapBtn.Anchor = Anchors.Top | Anchors.Left;
            SideBar.Add(SelectMapBtn);

            DoOneStepBtn = new Button(Manager);
            DoOneStepBtn.Init();
            DoOneStepBtn.Text = "Do One Step";
            DoOneStepBtn.SetPosition(25, 90);
            DoOneStepBtn.SetSize(150, 25);
            DoOneStepBtn.Anchor = Anchors.Top | Anchors.Left;
            DoOneStepBtn.Click += new EventHandler(DoOneStepBtn_Click);
            SideBar.Add(DoOneStepBtn);

            DoOneRunBtn = new Button(Manager);
            DoOneRunBtn.Init();
            DoOneRunBtn.Text = "Do One Run";
            DoOneRunBtn.SetPosition(25, 120);
            DoOneRunBtn.SetSize(150, 25);
            DoOneRunBtn.Anchor = Anchors.Top | Anchors.Left;
            DoOneRunBtn.Click += new EventHandler(DoOneRunBtn_Click);
            SideBar.Add(DoOneRunBtn);

            NextRunBtn = new Button(Manager);
            NextRunBtn.Init();
            NextRunBtn.Text = "Next Run";
            NextRunBtn.SetPosition(25, 150);
            NextRunBtn.SetSize(150, 25);
            NextRunBtn.Anchor = Anchors.Top | Anchors.Left;
            NextRunBtn.Click += new EventHandler(NextRunBtn_Click);
            SideBar.Add(NextRunBtn);

            DoAllRunBtn = new Button(Manager);
            DoAllRunBtn.Init();
            DoAllRunBtn.Text = "Do All Run";
            DoAllRunBtn.SetPosition(25, 180);
            DoAllRunBtn.SetSize(150, 25);
            DoAllRunBtn.Anchor = Anchors.Top | Anchors.Left;
            DoAllRunBtn.Click += new EventHandler(DoAllRunBtn_Click);
            SideBar.Add(DoAllRunBtn);

            GrpBox = new GroupBox(Manager);
            GrpBox.Init();
            GrpBox.SetSize(SideBar.Width - 30, 135);
            GrpBox.SetPosition(5, 220);
            GrpBox.ClientWidth = 180;
            GrpBox.Text        = "Display Options";
            GrpBox.TextColor   = Color.Wheat;
            SideBar.Add(GrpBox);

            Label stepsLbl = new Label(Manager);

            stepsLbl.Init();
            stepsLbl.Text = "Steps:";
            stepsLbl.SetPosition(5, 25);
            GrpBox.Add(stepsLbl);

            StepsTxt = new TextBox(Manager);
            StepsTxt.Init();
            StepsTxt.Text = "100";
            StepsTxt.SetSize(100, 25);
            StepsTxt.SetPosition(5 + stepsLbl.Width, 20);
            StepsTxt.TextColor    = Color.WhiteSmoke;
            StepsTxt.TextChanged += new EventHandler(TimeTxt_TextChanged);
            GrpBox.Add(StepsTxt);

            Label timeLbl = new Label(Manager);

            timeLbl.Init();
            timeLbl.Text = "Time:";
            timeLbl.SetPosition(5, 60);
            GrpBox.Add(timeLbl);

            TimeTxt = new TextBox(Manager);
            TimeTxt.Init();
            TimeTxt.Text = "20";
            TimeTxt.SetSize(100, 25);
            TimeTxt.SetPosition(5 + stepsLbl.Width, 55);
            TimeTxt.TextChanged += new EventHandler(TimeTxt_TextChanged);
            TimeTxt.TextColor    = Color.WhiteSmoke;
            GrpBox.Add(TimeTxt);

            DisplayBtn = new Button(Manager);
            DisplayBtn.Init();
            DisplayBtn.Text   = "Display";
            DisplayBtn.Click += new EventHandler(displayBtn_Click);
            DisplayBtn.SetSize(120, 25);
            DisplayBtn.SetPosition(50, 90);
            GrpBox.Add(DisplayBtn);

            Label rendererLbl = new Label(Manager);

            rendererLbl.Init();
            rendererLbl.Text = "Renderer:";
            rendererLbl.SetPosition(25, 360);
            Add(rendererLbl);

            RenderersComboBox = new ComboBox(Manager);
            RenderersComboBox.Init();
            RenderersComboBox.SetPosition(25, 385);
            RenderersComboBox.Width     = 150;
            RenderersComboBox.TextColor = Color.Wheat;
            RenderersComboBox.Items.AddRange(Renderers);
            RenderersComboBox.ItemIndex    = 0;
            RenderersComboBox.TextChanged += new EventHandler(RenderersComboBox_TextChanged);
            Add(RenderersComboBox);

            Button makeFullScreenBtn = new Button(Manager);

            makeFullScreenBtn.Init();
            makeFullScreenBtn.Text = "Fullscreen";
            makeFullScreenBtn.SetPosition(25, 475);
            makeFullScreenBtn.SetSize(150, 25);
            makeFullScreenBtn.Click += new EventHandler(makeFullScreenBtn_Click);
            makeFullScreenBtn.Anchor = Anchors.Top | Anchors.Left;
            SideBar.Add(makeFullScreenBtn);

            Button exitBtn = new Button(Manager);

            exitBtn.Init();
            exitBtn.Text = "Quit";
            exitBtn.SetPosition(25, 510);
            exitBtn.SetSize(150, 25);
            exitBtn.Click += new EventHandler(exitBtn_Click);
            exitBtn.Anchor = Anchors.Top | Anchors.Left;
            SideBar.Add(exitBtn);

            ExitDlg = new ExitDialog(Manager);
            ExitDlg.Init();
            ExitDlg.Closed += new WindowClosedEventHandler(ExitDlg_Closed);
            Manager.Add(ExitDlg);
            ExitDlg.Hide();

            //Right side bar
            SideBarRight = new SideBar(Manager);
            SideBarRight.Init();
            SideBarRight.StayOnBack = true;
            SideBarRight.Resizable  = true;
            SideBarRight.ResizeEdge = Anchors.Left;
            SideBarRight.SetSize(200, Height);
            SideBarRight.SetPosition(Width - SideBarRight.Width, 0);
            SideBarRight.Anchor = Anchors.Right | Anchors.Top | Anchors.Bottom;
            Add(SideBarRight);

            GroupBox runParamsGrpBox = new GroupBox(Manager);

            runParamsGrpBox.Init();
            runParamsGrpBox.SetSize(SideBarRight.Width - 30, 155);
            runParamsGrpBox.SetPosition(5, 10);
            runParamsGrpBox.ClientWidth = 38;
            runParamsGrpBox.Text        = "Run Statistics";
            runParamsGrpBox.TextColor   = Color.Wheat;
            runParamsGrpBox.Anchor      = Anchors.Left | Anchors.Right | Anchors.Top;
            SideBarRight.Add(runParamsGrpBox);

            Label runLbl1 = new Label(Manager);

            runLbl1.Init();
            runLbl1.Text = "Run:";
            runLbl1.SetPosition(10, 20);
            runLbl1.Width = 120;
            runParamsGrpBox.Add(runLbl1);

            Label runLbl2 = new Label(Manager);

            runLbl2.Init();
            runLbl2.Text = "0";
            runLbl2.SetPosition(runLbl1.Left + runLbl1.Width + 10, 20);
            runParamsGrpBox.Add(runLbl2);
            RunStatsLbls.Add(runLbl2);

            Label timeStepLbl1 = new Label(Manager);

            timeStepLbl1.Init();
            timeStepLbl1.Text = "Time step:";
            timeStepLbl1.SetPosition(10, 35);
            timeStepLbl1.Width = 120;
            runParamsGrpBox.Add(timeStepLbl1);

            Label timeStepLbl2 = new Label(Manager);

            timeStepLbl2.Init();
            timeStepLbl2.Text = "0";
            timeStepLbl2.SetPosition(timeStepLbl1.Left + timeStepLbl1.Width + 10, 35);
            runParamsGrpBox.Add(timeStepLbl2);
            RunStatsLbls.Add(timeStepLbl2);

            Label actionLbl1 = new Label(Manager);

            actionLbl1.Init();
            actionLbl1.Text = "Action:";
            actionLbl1.SetPosition(10, 60);
            actionLbl1.Width = 120;
            runParamsGrpBox.Add(actionLbl1);

            Label actionLbl2 = new Label(Manager);

            actionLbl2.Init();
            actionLbl2.Text = "0";
            actionLbl2.SetPosition(actionLbl1.Left + actionLbl1.Width + 10, 60);
            runParamsGrpBox.Add(actionLbl2);
            RunStatsLbls.Add(actionLbl2);

            Label dirtyOnMapLbl1 = new Label(Manager);

            dirtyOnMapLbl1.Init();
            dirtyOnMapLbl1.Text = "Dirty on map:";
            dirtyOnMapLbl1.SetPosition(10, 85);
            dirtyOnMapLbl1.Width = 120;
            runParamsGrpBox.Add(dirtyOnMapLbl1);

            Label dirtyOnMapLbl2 = new Label(Manager);

            dirtyOnMapLbl2.Init();
            dirtyOnMapLbl2.Text = "0";
            dirtyOnMapLbl2.SetPosition(dirtyOnMapLbl1.Left + dirtyOnMapLbl1.Width + 10, 85);
            runParamsGrpBox.Add(dirtyOnMapLbl2);
            RunStatsLbls.Add(dirtyOnMapLbl2);

            Label overAllDirtyLbl1 = new Label(Manager);

            overAllDirtyLbl1.Init();
            overAllDirtyLbl1.Text = "Overall dirty:";
            overAllDirtyLbl1.SetPosition(10, 100);
            overAllDirtyLbl1.Width = 120;
            runParamsGrpBox.Add(overAllDirtyLbl1);

            Label overAllDirtyLbl2 = new Label(Manager);

            overAllDirtyLbl2.Init();
            overAllDirtyLbl2.Text = "0";
            overAllDirtyLbl2.SetPosition(overAllDirtyLbl1.Left + overAllDirtyLbl1.Width + 10, 100);
            runParamsGrpBox.Add(overAllDirtyLbl2);
            RunStatsLbls.Add(overAllDirtyLbl2);

            Label cleanedDirtyLbl1 = new Label(Manager);

            cleanedDirtyLbl1.Init();
            cleanedDirtyLbl1.Text = "Cleaned dirty:";
            cleanedDirtyLbl1.SetPosition(10, 115);
            cleanedDirtyLbl1.Width = 120;
            runParamsGrpBox.Add(cleanedDirtyLbl1);

            Label cleanedDirtyLbl2 = new Label(Manager);

            cleanedDirtyLbl2.Init();
            cleanedDirtyLbl2.Text = "0";
            cleanedDirtyLbl2.SetPosition(cleanedDirtyLbl1.Left + cleanedDirtyLbl1.Width + 10, 115);
            runParamsGrpBox.Add(cleanedDirtyLbl2);
            RunStatsLbls.Add(cleanedDirtyLbl2);

            Label consumedEnergyLbl1 = new Label(Manager);

            consumedEnergyLbl1.Init();
            consumedEnergyLbl1.Text = "Consumed energy:";
            consumedEnergyLbl1.SetPosition(10, 130);
            consumedEnergyLbl1.Width = 120;
            runParamsGrpBox.Add(consumedEnergyLbl1);

            Label consumedEnergyLbl2 = new Label(Manager);

            consumedEnergyLbl2.Init();
            consumedEnergyLbl2.Text = "0";
            consumedEnergyLbl2.SetPosition(consumedEnergyLbl1.Left + consumedEnergyLbl1.Width + 10, 130);
            runParamsGrpBox.Add(consumedEnergyLbl2);
            RunStatsLbls.Add(consumedEnergyLbl2);
            ////
            GroupBox totalParamsGrpBox = new GroupBox(Manager);

            totalParamsGrpBox.Init();
            totalParamsGrpBox.SetSize(SideBarRight.Width - 30, 215);
            totalParamsGrpBox.SetPosition(5, runParamsGrpBox.Top + runParamsGrpBox.Height + 10);
            totalParamsGrpBox.ClientWidth = 38;
            totalParamsGrpBox.Text        = "Total Statistics";
            totalParamsGrpBox.TextColor   = Color.Wheat;
            totalParamsGrpBox.Anchor      = Anchors.Left | Anchors.Right | Anchors.Top;
            SideBarRight.Add(totalParamsGrpBox);

            Label completedRunsLbl1 = new Label(Manager);

            completedRunsLbl1.Init();
            completedRunsLbl1.Text = "Completed Runs:";
            completedRunsLbl1.SetPosition(10, 20);
            completedRunsLbl1.Width = 120;
            totalParamsGrpBox.Add(completedRunsLbl1);

            Label completedRunsLbl2 = new Label(Manager);

            completedRunsLbl2.Init();
            completedRunsLbl2.Text = "0";
            completedRunsLbl2.SetPosition(completedRunsLbl1.Left + completedRunsLbl1.Width + 10, 20);
            totalParamsGrpBox.Add(completedRunsLbl2);
            TotalStatsLbls.Add(completedRunsLbl2);

            Label totalDirtyLbl1 = new Label(Manager);

            totalDirtyLbl1.Init();
            totalDirtyLbl1.Text = "Total dirty degree:";
            totalDirtyLbl1.SetPosition(10, 35);
            totalDirtyLbl1.Width = 120;
            totalParamsGrpBox.Add(totalDirtyLbl1);

            Label totalDirtyLbl2 = new Label(Manager);

            totalDirtyLbl2.Init();
            totalDirtyLbl2.Text = "0";
            totalDirtyLbl2.SetPosition(totalDirtyLbl1.Left + totalDirtyLbl1.Width + 10, 35);
            totalParamsGrpBox.Add(totalDirtyLbl2);
            TotalStatsLbls.Add(totalDirtyLbl2);

            Label totalCleanedLbl1 = new Label(Manager);

            totalCleanedLbl1.Init();
            totalCleanedLbl1.Text = "Total cleaned dirty:";
            totalCleanedLbl1.SetPosition(10, 60);
            totalCleanedLbl1.Width = 120;
            totalParamsGrpBox.Add(totalCleanedLbl1);

            Label totalCleanedLbl2 = new Label(Manager);

            totalCleanedLbl2.Init();
            totalCleanedLbl2.Text = "0";
            totalCleanedLbl2.SetPosition(totalCleanedLbl1.Left + totalCleanedLbl1.Width + 10, 60);
            totalParamsGrpBox.Add(totalCleanedLbl2);
            TotalStatsLbls.Add(totalCleanedLbl2);

            Label totalConsumedLbl1 = new Label(Manager);

            totalConsumedLbl1.Init();
            totalConsumedLbl1.Text = "Total consumed\nenergy:";
            totalConsumedLbl1.SetPosition(10, 85);
            totalConsumedLbl1.SetSize(120, 30);
            totalParamsGrpBox.Add(totalConsumedLbl1);

            Label totalConsumedLbl2 = new Label(Manager);

            totalConsumedLbl2.Init();
            totalConsumedLbl2.Text = "0";
            totalConsumedLbl2.SetPosition(totalConsumedLbl1.Left + totalConsumedLbl1.Width + 10, 85);
            totalParamsGrpBox.Add(totalConsumedLbl2);
            TotalStatsLbls.Add(totalConsumedLbl2);

            Label avarageDirtyLbl1 = new Label(Manager);

            avarageDirtyLbl1.Init();
            avarageDirtyLbl1.Text = "Average dirty\ndegree:";
            avarageDirtyLbl1.SetPosition(10, 115);
            avarageDirtyLbl1.SetSize(120, 30);
            totalParamsGrpBox.Add(avarageDirtyLbl1);

            Label avarageDirtyLbl2 = new Label(Manager);

            avarageDirtyLbl2.Init();
            avarageDirtyLbl2.Text = "0";
            avarageDirtyLbl2.SetPosition(avarageDirtyLbl1.Left + avarageDirtyLbl1.Width + 10, 115);
            totalParamsGrpBox.Add(avarageDirtyLbl2);
            TotalStatsLbls.Add(avarageDirtyLbl2);

            Label avarageCleanedLbl1 = new Label(Manager);

            avarageCleanedLbl1.Init();
            avarageCleanedLbl1.Text = "Average cleaned\ndirty:";
            avarageCleanedLbl1.SetPosition(10, 145);
            avarageCleanedLbl1.SetSize(120, 30);
            totalParamsGrpBox.Add(avarageCleanedLbl1);

            Label avarageCleanedLbl2 = new Label(Manager);

            avarageCleanedLbl2.Init();
            avarageCleanedLbl2.Text = "0";
            avarageCleanedLbl2.SetPosition(avarageCleanedLbl1.Left + avarageCleanedLbl1.Width + 10, 145);
            totalParamsGrpBox.Add(avarageCleanedLbl2);
            TotalStatsLbls.Add(avarageCleanedLbl2);

            Label avarageConsumedLbl1 = new Label(Manager);

            avarageConsumedLbl1.Init();
            avarageConsumedLbl1.Text = "Average consumed\nenergy:";
            avarageConsumedLbl1.SetPosition(10, 175);
            avarageConsumedLbl1.Width  = 120;
            avarageConsumedLbl1.Height = 30;
            totalParamsGrpBox.Add(avarageConsumedLbl1);

            Label avarageConsumedLbl2 = new Label(Manager);

            avarageConsumedLbl2.Init();
            avarageConsumedLbl2.Text = "0";
            avarageConsumedLbl2.SetPosition(avarageConsumedLbl1.Left + avarageConsumedLbl1.Width + 10, 175);
            totalParamsGrpBox.Add(avarageConsumedLbl2);
            TotalStatsLbls.Add(avarageConsumedLbl2);
            /////
            //Select map

            OpenFileDialog = new Dialog(Manager);
            OpenFileDialog.Init();
            OpenFileDialog.Text = "Select map file";
            OpenFileDialog.Description.Visible = false;
            OpenFileDialog.Caption.Text        = "";
            OpenFileDialog.Width   = 600;
            OpenFileDialog.Resize += new ResizeEventHandler(OpenFileDialog_Resize);
            Manager.Add(OpenFileDialog);
            OpenFileDialog.Hide();

            FilesList = new ListBox(Manager);
            FilesList.Init();
            FilesList.Tag = System.Environment.CurrentDirectory;
            FilesList.SetPosition(0, 40);
            FilesList.ClientWidth  = OpenFileDialog.Width - 15;
            FilesList.ClientHeight = OpenFileDialog.ClientHeight - 40;
            FilesList.TextColor    = Color.Wheat;
            FilesList.DoubleClick += new EventHandler(FilesList_DoubleClick);
            GetFilesAndFolders();
            OpenFileDialog.Add(FilesList);

            LifeTimeLbl = new Label(Manager);
            LifeTimeLbl.Init();
            LifeTimeLbl.Text = "Life Time:";
            LifeTimeLbl.SetPosition(5, 10);
            OpenFileDialog.Add(LifeTimeLbl);

            LifeTimeTxt = new TextBox(Manager);
            LifeTimeTxt.Init();
            LifeTimeTxt.Text = "2000";
            LifeTimeTxt.SetSize(100, 25);
            LifeTimeTxt.SetPosition(5 + stepsLbl.Width, 5);
            LifeTimeTxt.TextColor    = Color.WhiteSmoke;
            LifeTimeTxt.TextChanged += new EventHandler(TimeTxt_TextChanged);
            OpenFileDialog.Add(LifeTimeTxt);

            TestCaseLbl = new Label(Manager);
            TestCaseLbl.Init();
            TestCaseLbl.Text = "Test Case:";
            TestCaseLbl.SetPosition(LifeTimeTxt.Left + LifeTimeTxt.Width + 5, 10);
            OpenFileDialog.Add(TestCaseLbl);

            TestCaseTxt = new TextBox(Manager);
            TestCaseTxt.Init();
            TestCaseTxt.Text = "10";
            TestCaseTxt.SetSize(100, 25);
            TestCaseTxt.SetPosition(TestCaseLbl.Left + TestCaseLbl.Width + 5, 5);
            TestCaseTxt.TextColor    = Color.WhiteSmoke;
            TestCaseTxt.TextChanged += new EventHandler(TimeTxt_TextChanged);
            OpenFileDialog.Add(TestCaseTxt);

            AgentLbl = new Label(Manager);
            AgentLbl.Init();
            AgentLbl.Text = "Agent:";
            AgentLbl.SetPosition(TestCaseTxt.Left + TestCaseTxt.Width + 5, 10);
            OpenFileDialog.Add(AgentLbl);

            AgentsComboBox = new ComboBox(Manager);
            AgentsComboBox.Init();
            AgentsComboBox.SetPosition(AgentLbl.Left + AgentLbl.Width - 10, 5);
            AgentsComboBox.Width     = 150;
            AgentsComboBox.Height    = 25;
            AgentsComboBox.TextColor = Color.Wheat;
            AgentsComboBox.Items.Add("RandomAgent");
            AgentsComboBox.Items.Add("ModelAgent");
            AgentsComboBox.Items.Add("ModelAgentNoIdle");
            AgentsComboBox.ItemIndex = 0;
            OpenFileDialog.Add(AgentsComboBox);

            NewGameDialog = new Dialog(Manager);
            NewGameDialog.Init();
            NewGameDialog.Text = "Start new tests";
            NewGameDialog.Description.Visible = false;
            NewGameDialog.BottomPanel.Visible = false;
            NewGameDialog.Caption.Text        = "";
            NewGameDialog.Width           = 600;
            NewGameDialog.Height          = 130;
            NewGameDialog.TopPanel.Height = 100;
            Manager.Add(NewGameDialog);
            NewGameDialog.Hide();

            Button newGameOk = new Button(Manager);

            newGameOk.Init();
            newGameOk.SetPosition(20, 50);
            newGameOk.Text   = "Confirm";
            newGameOk.Click += new EventHandler(newGameOk_Click);
            NewGameDialog.Add(newGameOk);

            EnableDisableMapControls(false);
        }