public ConstructionPanelButton(Game game, ConstructionPanelButtonType type)
            : base(game)
        {
            this.type = type;

            switch (type)
            {
            case ConstructionPanelButtonType.Close:
                buttonSprite = new Sprite(game, GraphicsCollection.GetPack("control-button-close"));
                AddChild(buttonSprite);
                break;

            case ConstructionPanelButtonType.Destroy:
                buttonSprite = new Sprite(game, GraphicsCollection.GetPack("construction-panel-destroy"));
                AddChild(buttonSprite);
                break;

            case ConstructionPanelButtonType.Upgrade:
                buttonSprite = new Sprite(game, GraphicsCollection.GetPack("construction-panel-upgrade"));
                AddChild(buttonSprite);
                break;

            case ConstructionPanelButtonType.Repair:
                buttonSprite = new Sprite(game, GraphicsCollection.GetPack("construction-panel-repair"));
                AddChild(buttonSprite);
                break;
            }
        }
Exemplo n.º 2
0
        public TimeBar(Game game, int sYear, int eYear)
            : base(game)
        {
            frame = new Sprite(game, GraphicsCollection.GetPack("time-bar-bar1"));
            AddChild(frame);

            slider                  = new TimeSlider(game);
            slider.YRelative        = 25;
            slider.StackOrder       = 1;
            slider.OnPress         += new EventHandler(slider_OnPress);
            slider.OnYearIncreased += new EventHandler(slider_OnYearIncreased);
            slider.OnYearDecreased += new EventHandler(slider_OnYearDecreased);

            AddChild(slider);

            speed     = 20;
            direction = 0;

            OnMouseMove += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(TimeBar_OnMouseMove);

            fraction  = 1;
            startYear = sYear;
            endYear   = eYear;
            Year      = 2010;
        }
Exemplo n.º 3
0
 public Slot(Game game, ConstructionType category) : base(game)
 {
     type            = category;
     visual          = new Sprite(game, GraphicsCollection.GetPack("flag"));
     reservationList = new List <Reservation>();
     AddChild(visual);
 }
Exemplo n.º 4
0
 public Slot_old(Game game)
     : base(game)
 {
     img            = new Sprite(game, GraphicsCollection.GetPack("steag"));
     img.StackOrder = 6;
     AddChild(img);
 }
Exemplo n.º 5
0
 public GraphBar(Game game, int percent)
     : base(game)
 {
     visual  = new Sprite(game, GraphicsCollection.GetPack("pixel"));
     Percent = percent;
     AddChild(visual);
 }
Exemplo n.º 6
0
        public Tooltip(Game game, int OneOfThreeSize)
            : base(game)
        {
            if (OneOfThreeSize == 3)
            {
                Background = new Sprite(game, GraphicsCollection.GetPack("tooltip_large"));
            }
            if (OneOfThreeSize == 2)
            {
                Background = new Sprite(game, GraphicsCollection.GetPack("tooltip_small"));
            }
            if (OneOfThreeSize == 1)
            {
                Background = new Sprite(game, GraphicsCollection.GetPack("tooltip_mini"));
            }

            Background.StackOrder = 0;
            AddChild(Background);

            text            = new SpriteText(game, FontsCollection.GetPack("Calibri 8").Font);
            text.StackOrder = 1;
            text.XRelative  = 5;
            text.YRelative  = 3;
            text.MaxLength  = 350;

            AddChild(text);
        }
        public BuildingPanel(Game game)
            : base(game)
        {
            frame            = new Sprite(game, GraphicsCollection.GetPack("building-frame"));
            frame.StackOrder = 0;

            upArrow            = new PanelButton(game, PanelButtonType.UpArrow);
            upArrow.XRelative  = 55;
            upArrow.YRelative  = 254;
            upArrow.StackOrder = 1;

            downArrow            = new PanelButton(game, PanelButtonType.DownArrow);
            downArrow.XRelative  = 92;
            downArrow.YRelative  = 255;
            downArrow.StackOrder = 1;

            tooltip            = new Tooltip(game, 3);
            tooltip.XRelative  = 23;
            tooltip.StackOrder = 2;
            tooltip.Visible    = false;

            AddChild(frame);
            AddChild(upArrow);
            AddChild(downArrow);
            AddChild(tooltip);

            direction = 0;
            speed     = 15;

            CreateIcons();
        }
Exemplo n.º 8
0
        public TimeSlider(Game game)
            : base(game)
        {
            frame = new Sprite(game, GraphicsCollection.GetPack("time-bar-bar2"));
            AddChild(frame);

            left            = new PanelButton(game, PanelButtonType.TimeLeft);
            left.StackOrder = 1;
            left.YRelative  = 4;
            left.XRelative  = 4;
            AddChild(left);

            right           = new PanelButton(game, PanelButtonType.TimeRight);
            right.XRelative = frame.Width - 12;
            right.YRelative = 4;
            AddChild(right);

            year            = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
            year.XRelative  = 35;
            year.YRelative  = 2;
            year.StackOrder = 2;
            AddChild(year);

            OnMousePress += new EventHandler <MouseEventArgs>(TimeSlider_OnMousePress);

            left.OnRelease  += new EventHandler <ButtonEventArgs>(left_OnRelease);
            right.OnRelease += new EventHandler <ButtonEventArgs>(right_OnRelease);
        }
Exemplo n.º 9
0
        public CameraRectangle(Game game)
            : base(game)
        {
            rectangle = new List <Sprite>(4);
            rectangle.Add(new Sprite(game, GraphicsCollection.GetPack("pixel")));
            rectangle.Add(new Sprite(game, GraphicsCollection.GetPack("pixel")));
            rectangle.Add(new Sprite(game, GraphicsCollection.GetPack("pixel")));
            rectangle.Add(new Sprite(game, GraphicsCollection.GetPack("pixel")));

            rectangle[0].Tint = Color.White;
            rectangle[1].Tint = Color.White;
            rectangle[2].Tint = Color.White;
            rectangle[3].Tint = Color.White;

            rectangle[0].XRelative = 0;
            rectangle[0].YRelative = 0;
            rectangle[1].YRelative = 0;
            rectangle[2].XRelative = 0;
            rectangle[3].YRelative = 0;
            rectangle[3].XRelative = 0;

            AddChild(rectangle[0]);
            AddChild(rectangle[1]);
            AddChild(rectangle[2]);
            AddChild(rectangle[3]);
        }
Exemplo n.º 10
0
        public InputBox(Game game)
            : base(game)
        {
            background           = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            cursor               = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            leftBorder           = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            leftBorder.XRelative = 0;
            rightBorder          = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            topBorder            = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            topBorder.YRelative  = 0;
            bottomBorder         = new Sprite(game, GraphicsCollection.GetPack("pixel"));

            text = new SpriteText(game, FontsCollection.GetPack("Courier New 14").Font);


            #region Default style
            VerticalPadding = 5;
            SidePadding     = 5;
            TextColor       = Color.Black;
            BorderColor     = Color.Black;
            BorderWidth     = 1;
            #endregion

            background.StackOrder = 0;
            leftBorder.StackOrder = rightBorder.StackOrder = topBorder.StackOrder = bottomBorder.StackOrder = 1;
            text.StackOrder       = 3;
            text.XRelative        = SidePadding;
            text.YRelative        = VerticalPadding;

            //text used only for initialization, needed to measure text height
            text.Text = "Init";

            Height = text.Height + 2 * VerticalPadding;

            cursor.Tint           = Color.Black;
            cursor.Height         = text.Height;
            cursor.Width          = 2;
            cursor.YRelative      = VerticalPadding;
            cursor.XRelative      = SidePadding;
            cursor.StackOrder     = 4;
            cursor.AnimationSpeed = 10;
            cursor.Visible        = false;
            cursor.OnFirstFrame  += new EventHandler(cursor_OnFirstFrame);

            #region Component init
            Components.Add(background);
            Components.Add(cursor);
            //Components.Add(leftBorder);
            //Components.Add(rightBorder);
            Components.Add(topBorder);
            Components.Add(bottomBorder);
            Components.Add(text);

            UpdateComponentsX();
            UpdateComponentsY();
            #endregion

            text.Text = String.Empty;
        }
Exemplo n.º 11
0
        public PanelButton(Game game, PanelButtonType type):base(game) {
            buttonType = type;

            switch (type) {
                case PanelButtonType.UpArrow:
                    visual = new Sprite(game, GraphicsCollection.GetPack("building-up"));
                    break;
                case PanelButtonType.DownArrow:
                    visual = new Sprite(game, GraphicsCollection.GetPack("building-down"));
                    break;
                case PanelButtonType.Minimize:
                    visual = new Sprite(game, GraphicsCollection.GetPack("building-minimize"));
                    break;
                case PanelButtonType.TimeDownArrow:
                    visual = new Sprite(game, GraphicsCollection.GetPack("time-panel-arrowdown"));
                    break;
                case PanelButtonType.TimeUpArrow:
                    visual = new Sprite(game, GraphicsCollection.GetPack("time-panel-arrowup"));
                    break;
                case PanelButtonType.TimeMinimize:
                    visual = new Sprite(game, GraphicsCollection.GetPack("time-panel-minimize"));
                    break;
                case PanelButtonType.TimeLeft:
                    visual = new Sprite(game, GraphicsCollection.GetPack("time-bar-leftarrow"));
                    break;
                case PanelButtonType.TimeRight:
                    visual = new Sprite(game, GraphicsCollection.GetPack("time-bar-rightarrow"));
                    break;
                case PanelButtonType.TimeTravelButton:
                    visual = new Sprite(game, GraphicsCollection.GetPack("time-panel-button-travel"));
                    break;
                case PanelButtonType.ResourcesMinimize:
                    visual = new Sprite(game, GraphicsCollection.GetPack("left-menu-minimize"));
                    break;
                case PanelButtonType.ResourcesAlert:
                    visual = new Sprite(game, GraphicsCollection.GetPack("left-menu-button-alert"));
                    break;
                case PanelButtonType.ResourcesControl:
                    visual = new Sprite(game, GraphicsCollection.GetPack("left-menu-button-control"));
                    break;
                case PanelButtonType.ResourcesExit:
                    visual = new Sprite(game, GraphicsCollection.GetPack("left-menu-button-exit"));
                    break;
                case PanelButtonType.ResourcesMission:
                    visual = new Sprite(game, GraphicsCollection.GetPack("left-menu-button-mission"));
                    break;
                case PanelButtonType.ResourcesSave:
                    visual = new Sprite(game, GraphicsCollection.GetPack("left-menu-button-save"));
                    break;
                case PanelButtonType.YearReset:
                    visual = new Sprite(game, GraphicsCollection.GetPack("year-panel-reset"));
                    break;
            }            

            AddChild(visual);
        }
        public MessagePanelOKButton(Game game)
            : base(game)
        {
            btnSprite            = new Sprite(game, GraphicsCollection.GetPack("ok_button"));
            btnSprite.XRelative  = 0;
            btnSprite.YRelative  = 0;
            btnSprite.StackOrder = 0;

            AddChild(btnSprite);
        }
        //positions is an 4-size Point vector containing the (x,y) positions of the 4 level buttons
        public TimeGateUpgradeCategory(Game game, int DrawOrder, Point[] positions)
            : base(game)
        {
            graphicsCollection = (GraphicsCollection)Game.Services.GetService(typeof(GraphicsCollection));

            //-----Level Buttons-------
            btnLevel1          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level1")), DrawOrder);
            btnLevel1.Position = positions[0];
            btnLevel1.Name     = "Level1";
            btnLevel1.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel1.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel1);
            levels.Add(btnLevel1);

            btnLevel2          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level2")), DrawOrder);
            btnLevel2.Position = positions[1];
            btnLevel2.Name     = "Level2";
            btnLevel2.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel2.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel2);
            levels.Add(btnLevel2);

            btnLevel3          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level3")), DrawOrder);
            btnLevel3.Position = positions[2];
            btnLevel3.Name     = "Level3";
            btnLevel3.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel3.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel3);
            levels.Add(btnLevel3);

            btnLevel4          = new TimeGateUpgradeLevel(game, new Sprite(game, graphicsCollection.GetPack("Level4")), DrawOrder);
            btnLevel4.Position = positions[3];
            btnLevel4.Name     = "Level4";
            btnLevel4.Status   = TimeGateUpgradeStatus.Locked;
            btnLevel4.OnPress += new EventHandler <ButtonEventArgs>(Do_LevelOnPress);
            AddChild(btnLevel4);
            levels.Add(btnLevel4);
            //-----------------------

            this.StackOrder = DrawOrder;
        }
Exemplo n.º 14
0
        public ResourceBar(Game game)
            : base(game)
        {
            fullBar            = new Sprite(game, GraphicsCollection.GetPack("left-menu-bar"));
            fullBar.StackOrder = 0;
            AddChild(fullBar);

            cover            = new Sprite(game, GraphicsCollection.GetPack("left-menu-barcover"));
            cover.YRelative  = 4;
            cover.StackOrder = 1;
            AddChild(cover);
        }
Exemplo n.º 15
0
        public CloseButton(Game game)
            : base(game)
        {
            visual            = new Sprite(game, GraphicsCollection.GetPack("close_button"));
            visual.XRelative  = 0;
            visual.YRelative  = 0;
            visual.StackOrder = 0;

            AddChild(visual);

            UpdateComponentsX();
            UpdateComponentsY();
        }
        /// <summary>
        /// Creates the BaseConstruction Sprite for the First Historical Period
        /// </summary>
        /// <param name="spriteName">The name of the Sprite in the GraphicsCollection Pack</param>
        public void Set_HP1_ConstructionSprite(string spritePath)
        {
            historicalPeriod_1_Availability++;
            HP1_ConstructionSprite = new Sprite(Game, graphicsCollection.GetPack(spritePath));

            HP1_ConstructionSprite.XRelative = x - HP1_ConstructionSprite.Width / 2;
            HP1_ConstructionSprite.YRelative = y - HP1_ConstructionSprite.Height / 2;

            HP1_ConstructionSprite.highlightColor = selectionColor;

            //initially hidden and disabled
            HP1_ConstructionSprite.Visible = false;
            spriteList.Add(HP1_ConstructionSprite);
            AddChild(HP1_ConstructionSprite);
        }
Exemplo n.º 17
0
 public void DisplaySlots(List <Point> pos)
 {
     foreach (Point p in pos)
     {
         Sprite dot = new Sprite(this.Game, GraphicsCollection.GetPack("pixel"));
         dot.Tint       = Color.Lime;
         dot.Width      = 3;
         dot.Height     = 3;
         dot.XRelative  = (int)((float)p.X * ratio) - 1;
         dot.YRelative  = (int)((float)p.Y * ratio) - 1;
         dot.StackOrder = 1;
         slots.Add(dot);
         AddChild(slots[slots.Count - 1]);
     }
 }
Exemplo n.º 18
0
        public Map(Game game)
            : base(game)
        {
            background        = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            background.Tint   = new Color(157, 125, 76);
            background.Width  = 95;
            background.Height = 95;
            AddChild(background);

            slots = new List <Sprite>();

            rectangle            = new CameraRectangle(game);
            rectangle.StackOrder = 2;
            AddChild(rectangle);
        }
Exemplo n.º 19
0
        public YearPanel(Game game)
            : base(game)
        {
            frame           = new Sprite(game, GraphicsCollection.GetPack("year-panel-frame"));
            frame.YRelative = -7;
            AddChild(frame);

            reset            = new PanelButton(game, PanelButtonType.YearReset);
            reset.XRelative  = 245;
            reset.YRelative  = 9;
            reset.OnRelease += new EventHandler <ButtonEventArgs>(reset_OnRelease);
            AddChild(reset);

            year           = new SpriteText(game, FontsCollection.GetPack("Trebuchet MS 14").Font);
            year.XRelative = 173;
            year.YRelative = 5;
            year.Text      = "2010";
            AddChild(year);

            population               = new SpriteText(game, FontsCollection.GetPack("Calibri 11").Font);
            population.XRelative     = 400;
            population.YRelative     = 5;
            population.TextAlignment = Align.Right;
            AddChild(population);

            money           = new SpriteText(game, FontsCollection.GetPack("Calibri 11").Font);
            money.YRelative = 5;
            money.XRelative = 25;
            AddChild(money);

            historicalPeriod           = new SpriteText(game, FontsCollection.GetPack("Calibri 8").Font);
            historicalPeriod.XRelative = 170;
            historicalPeriod.YRelative = 30;
            AddChild(historicalPeriod);

            gologan            = new Sprite(game, GraphicsCollection.GetPack("gologan"));
            gologan.YRelative  = 5;
            gologan.XRelative  = 10;
            gologan.StackOrder = 1;

            AddChild(gologan);

            smiley           = new Sprite(game, GraphicsCollection.GetPack("smiley"));
            smiley.XRelative = 280;
            smiley.YRelative = 5;
            AddChild(smiley);
        }
Exemplo n.º 20
0
        public TimeTravelPanel(Game game)
            : base(game)
        {
            #region Elements
            frame = new Sprite(game, GraphicsCollection.GetPack("time-panel-frame"));

            AddChild(frame);

            spriteTextCurrentYear           = new SpriteText(game, FontsCollection.GetPack("Calibri 11").Font);
            spriteTextCurrentYear.Text      = GameManager.CurrentYear.ToString();
            spriteTextCurrentYear.Tint      = Color.WhiteSmoke;
            spriteTextCurrentYear.XRelative = 55;
            spriteTextCurrentYear.YRelative = 42;

            AddChild(spriteTextCurrentYear);

            minimize               = new PanelButton(game, PanelButtonType.TimeMinimize);
            minimize.XRelative     = -10;
            minimize.YRelative     = 27;
            minimize.StackOrder    = 1;
            minimize.OnMousePress += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(minimize_OnMousePress);
            AddChild(minimize);

            upArrow               = new PanelButton(game, PanelButtonType.TimeUpArrow);
            upArrow.StackOrder    = 1;
            upArrow.XRelative     = 95;
            upArrow.YRelative     = 32;
            upArrow.OnMousePress += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(upArrow_OnMousePress);
            AddChild(upArrow);

            downArrow            = new PanelButton(game, PanelButtonType.TimeDownArrow);
            downArrow.XRelative  = 97;
            downArrow.YRelative  = 55;
            downArrow.StackOrder = 1;
            downArrow.OnPress   += new EventHandler <ButtonEventArgs>(downArrow_OnPress);
            AddChild(downArrow);

            travel            = new PanelButton(game, PanelButtonType.TimeTravelButton);
            travel.XRelative  = 33;
            travel.YRelative  = 80;
            travel.StackOrder = 1;
            travel.OnPress   += new EventHandler <ButtonEventArgs>(travel_OnPress);
            AddChild(travel);

            #endregion
        }
Exemplo n.º 21
0
        public GraphPanel(Game game)
            : base(game)
        {
            topBar           = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            topBar.Width     = 300;
            topBar.Height    = 2;
            topBar.XRelative = 120;
            topBar.YRelative = 99;
            topBar.Tint      = Color.Orange;
            AddChild(topBar);

            bottomBar           = new Sprite(game, GraphicsCollection.GetPack("pixel"));
            bottomBar.Width     = 300;
            bottomBar.Height    = 2;
            bottomBar.XRelative = 120;
            bottomBar.YRelative = 201;
            bottomBar.Tint      = Color.Orange;
            AddChild(bottomBar);

            startYear           = new SpriteText(game, FontsCollection.GetPack("Calibri 11").Font);
            startYear.XRelative = 120;
            startYear.YRelative = 180;
            AddChild(startYear);

            endYear           = new SpriteText(game, FontsCollection.GetPack("Calibri 11").Font);
            endYear.XRelative = 390;
            endYear.YRelative = 180;
            AddChild(endYear);

            //90, 440
            bars = new List <GraphBar>(300);
            for (int year = 0; year < 300; year++)
            {
                GraphBar bar = new GraphBar(game, 0);
                bar.XRelative = 200 + year;
                bar.YRelative = 200;
                bars.Add(bar);
                AddChild(bar);
            }

            selectedYear           = new SpriteText(game, FontsCollection.GetPack("Calibri 11").Font);
            selectedYear.XRelative = 130;
            selectedYear.YRelative = 55;

            AddChild(selectedYear);
        }
        public ResearchPanel(Game game)
            : base(game)
        {
            selectedResearch = null;
            selectedMG       = ConstructionType.None;

            timeline           = new Sprite(game, GraphicsCollection.GetPack("control-research-timeline"));
            timeline.XRelative = 91;
            timeline.YRelative = 197;
            AddChild(timeline);

            ok           = new ControlPanelButton(game, ControlPanelButtonType.ResearchOK);
            ok.XRelative = 413;
            ok.YRelative = 64;
            ok.IsVisible = false;
            ok.Enabled   = false;
            ok.OnPress  += new EventHandler <ButtonEventArgs>(ok_OnPress);
            AddChild(ok);

            name           = new SpriteText(game, FontsCollection.GetPack("Calibri 11").Font);
            name.Tint      = Color.White;
            name.XRelative = 101;
            name.YRelative = 64;
            AddChild(name);

            description           = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
            description.Tint      = Color.White;
            description.XRelative = 101;
            description.YRelative = 82;
            AddChild(description);

            price           = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
            price.Tint      = Color.Lime;
            price.XRelative = 101;
            price.YRelative = 178;
            AddChild(price);

            year           = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
            year.Tint      = Color.Lime;
            year.XRelative = 347;
            year.YRelative = 178;
            AddChild(year);

            icons = new List <ControlPanelButton>();
        }
Exemplo n.º 23
0
        public TimeGateUpgradeLevel(Game game, Sprite boughtSprite, int drawOrder)
            : base(game)
        {
            graphicsCollection = (GraphicsCollection)Game.Services.GetService(typeof(GraphicsCollection));

            StatusSprite           = new Sprite(game, graphicsCollection.GetPack("LevelStatus"));
            StatusSprite.XRelative = 0;
            StatusSprite.YRelative = 0;

            BoughtSprite           = boughtSprite;
            BoughtSprite.XRelative = 0;
            BoughtSprite.YRelative = 0;

            this.StackOrder = drawOrder;

            AddChild(StatusSprite);
            AddChild(BoughtSprite);
        }
Exemplo n.º 24
0
        void CreateAndShowMainMenu()
        {
            CameraFreeze();
            XMLLoader xmlLoader = new XMLLoader();

            xmlLoader.Load("Profiles\\profiles.xml");
            userList = new UsersList(xmlLoader.Document);

            mainMenu = new MainMenu(this.Game, ref userList);
            mainMenu.OnNewGameStartClick += new EventHandler <MainMenuEventArgs>(mainMenu_OnNewGameStartClick);
            mainMenu.OnExitClick         += new EventHandler(mainMenu_OnExitClick);
            mainMenu.OnDeleteUserClick   += new EventHandler <MainMenuEventArgs>(mainMenu_OnDeleteUSerClick);
            mainMenu.OnLoadGameClick     += new EventHandler <MainMenuEventArgs>(mainMenu_OnLoadGameClick);

            pointer           = new Sprite(this.Game, GraphicsCollection.GetPack("pointer"));
            pointer.XRelative = 0;
            pointer.YRelative = 0;
            pointer.DrawOrder = 10000;
        }
        public MissionPanel(Game game)
            : base(game)
        {
            frame = new Sprite(game, GraphicsCollection.GetPack("mission-frame"));
            AddChild(frame);

            close               = new ControlPanelButton(game, ControlPanelButtonType.Close);
            close.StackOrder    = 3;
            close.XRelative     = 428;
            close.YRelative     = 7;
            close.OnMousePress += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(close_OnMousePress);
            AddChild(close);

            text            = new SpriteText(game, FontsCollection.GetPack("Calibri 8").Font);
            text.StackOrder = 3;
            text.MaxLength  = 350;
            text.XRelative  = 30;
            text.YRelative  = 50;
            AddChild(text);
        }
        public BuildingTypeButton(Game game, ConstructionType categ)
            : base(game)
        {
            #region Decode
            category = categ;
            switch (categ)
            {
            case ConstructionType.Economy:
                background = new Sprite(game, GraphicsCollection.GetPack("minimap-dollar"));
                break;

            case ConstructionType.Education:
                background = new Sprite(game, GraphicsCollection.GetPack("minimap-book"));
                break;

            case ConstructionType.Environment:
                background = new Sprite(game, GraphicsCollection.GetPack("minimap-tree"));
                break;

            case ConstructionType.Food:
                background = new Sprite(game, GraphicsCollection.GetPack("minimap-food"));
                break;

            case ConstructionType.Health:
                background = new Sprite(game, GraphicsCollection.GetPack("minimap-cross"));
                break;

            case ConstructionType.Energy:
                background = new Sprite(game, GraphicsCollection.GetPack("minimap-lightning"));
                break;

            case ConstructionType.Population:
                background = new Sprite(game, GraphicsCollection.GetPack("minimap-house"));
                break;
            }
            #endregion

            AddChild(background);

            selected = false;
        }
        public ConstructionPanel(Game game, BaseConstruction construction)
            : base(game)
        {
            frame            = new Sprite(game, GraphicsCollection.GetPack("construction-panel-frame"));
            frame.StackOrder = 1;
            AddChild(frame);

            selectedConstruction = construction;

            if (Destroyable())
            {
                destroy                 = new ConstructionPanelButton(game, ConstructionPanelButtonType.Destroy);
                destroy.StackOrder      = 2;
                destroy.XRelative       = buttonsXposition;
                destroy.YRelative       = 45;
                destroy.OnMouseRelease += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(destroy_OnMouseRelease);
                destroy.OnMouseOver    += new EventHandler <ButtonEventArgs>(Button_OnMouseOver);
                destroy.OnMouseLeave   += new EventHandler <ButtonEventArgs>(Button_OnMouseLeave);
                AddChild(destroy);
            }

            if (GeneralConstructionUpgradeable())
            {
                upgrade                 = new ConstructionPanelButton(game, ConstructionPanelButtonType.Upgrade);
                upgrade.StackOrder      = 2;
                upgrade.XRelative       = buttonsXposition;
                upgrade.YRelative       = 173;
                upgrade.OnMouseRelease += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(upgrade_OnMouseRelease);
                upgrade.OnMouseOver    += new EventHandler <ButtonEventArgs>(Button_OnMouseOver);
                upgrade.OnMouseLeave   += new EventHandler <ButtonEventArgs>(Button_OnMouseLeave);
                AddChild(upgrade);

                textUpgradeCost            = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
                textUpgradeCost.StackOrder = 2;
                textUpgradeCost.XRelative  = 95;
                textUpgradeCost.YRelative  = 225;
                textUpgradeCost.Tint       = Color.Green;
                textUpgradeCost.Text       = GetUpgradeText() + GetUpgradeCost().ToString();
                AddChild(textUpgradeCost);
            }

            if (PopulationConstructionUpgradeable())
            {
                upgrade               = new ConstructionPanelButton(game, ConstructionPanelButtonType.Upgrade);
                upgrade.StackOrder    = 2;
                upgrade.XRelative     = buttonsXposition;
                upgrade.YRelative     = 173;
                upgrade.OnMousePress += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(upgrade_OnMouseRelease);
                upgrade.OnMouseOver  += new EventHandler <ButtonEventArgs>(Button_OnMouseOver);
                upgrade.OnMouseLeave += new EventHandler <ButtonEventArgs>(Button_OnMouseLeave);
                AddChild(upgrade);

                textUpgradeCost            = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
                textUpgradeCost.XRelative  = 95;
                textUpgradeCost.YRelative  = 225;
                textUpgradeCost.StackOrder = 2;
                textUpgradeCost.Tint       = Color.Green;
                textUpgradeCost.Text       = GetUpgradeText() + GetUpgradeCost().ToString();
                AddChild(textUpgradeCost);
            }

            if (Repairable())
            {
                repair                 = new ConstructionPanelButton(game, ConstructionPanelButtonType.Repair);
                repair.StackOrder      = 2;
                repair.XRelative       = buttonsXposition;
                repair.YRelative       = 108;
                repair.OnMouseRelease += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(repair_OnMouseRelease);
                repair.OnMouseOver    += new EventHandler <ButtonEventArgs>(Button_OnMouseOver);
                repair.OnMouseLeave   += new EventHandler <ButtonEventArgs>(Button_OnMouseLeave);
                AddChild(repair);

                textRepairCost            = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
                textRepairCost.XRelative  = 323;
                textRepairCost.YRelative  = 225;
                textRepairCost.StackOrder = 2;
                textRepairCost.Tint       = Color.Green;
                textRepairCost.Text       = "Repair price: " + GetRepairCost().ToString();
                AddChild(textRepairCost);
            }
            else //not repairable
            {
                if (AlreadyRepairedInCurrentYear())
                {
                    textRepairCost            = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
                    textRepairCost.XRelative  = 323;
                    textRepairCost.YRelative  = 225;
                    textRepairCost.Tint       = Color.Green;
                    textRepairCost.StackOrder = 2;
                    textRepairCost.Text       = "Repaired this year";
                    AddChild(textRepairCost);
                }
            }

            close                 = new ConstructionPanelButton(game, ConstructionPanelButtonType.Close);
            close.StackOrder      = 2;
            close.XRelative       = 430;
            close.YRelative       = 7;
            close.OnMouseRelease += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(close_OnMouseRelease);
            AddChild(close);

            textBuildingNameAndStage            = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
            textBuildingNameAndStage.XRelative  = 95;
            textBuildingNameAndStage.YRelative  = 20;
            textBuildingNameAndStage.Tint       = Color.Gray;
            textBuildingNameAndStage.StackOrder = 2;
            textBuildingNameAndStage.Text       = GetDescriptionFromEnum(selectedConstruction.ConstructionName, 0);
            if (selectedConstruction.ConstructionType != ConstructionType.Population)
            {
                textBuildingNameAndStage.Text += "  -  " + GetDescriptionFromEnum((selectedConstruction.Slot.GetReservation(GameManager.CurrentYear).Status(GameManager.CurrentYear)), 0);
            }
            AddChild(textBuildingNameAndStage);

            textGeneralInfo            = new SpriteText(game, FontsCollection.GetPack("Calibri 10").Font);
            textGeneralInfo.XRelative  = 95;
            textGeneralInfo.YRelative  = 60;
            textGeneralInfo.StackOrder = 2;
            textGeneralInfo.Tint       = Color.White;
            textGeneralInfo.Text       = GetConstructionYear() + "\n" + GetLifetimeLeft() + "\n" + GetConstructionParameters();
            AddChild(textGeneralInfo);

            selectedConstruction.SelectConstruction = true;

            if (selectedConstruction.ConstructionType == ConstructionType.Education ||
                selectedConstruction.ConstructionType == ConstructionType.Health ||
                selectedConstruction.ConstructionType == ConstructionType.Population ||
                selectedConstruction.ConstructionType == ConstructionType.Energy)
            {
                SoundManager.PlaySound((Sounds)Enum.Parse(typeof(Sounds), selectedConstruction.ConstructionType.ToString()));
            }
            else
            {
                SoundManager.PlaySound((Sounds)Enum.Parse(typeof(Sounds), selectedConstruction.ConstructionName.ToString()));
            }
        }
Exemplo n.º 28
0
        public LeftMenu(Game game)
            : base(game)
        {
            frame            = new Sprite(game, GraphicsCollection.GetPack("left-menu-frame"));
            frame.StackOrder = 1;

            AddChild(frame);

            minimize               = new PanelButton(game, PanelButtonType.ResourcesMinimize);
            minimize.StackOrder    = 2;
            minimize.XRelative     = 60;
            minimize.YRelative     = 11;
            minimize.OnMousePress += new EventHandler <Operation_Cronos.Input.MouseEventArgs>(minimize_OnMousePress);
            AddChild(minimize);

            parameters            = new ParametersPanel(game);
            parameters.XRelative  = ParametersPanel.ClosedPosition;
            parameters.YRelative  = 15;
            parameters.StackOrder = 0;
            AddChild(parameters);

            alert               = new PanelButton(game, PanelButtonType.ResourcesAlert);
            alert.XRelative     = buttonsX;
            alert.YRelative     = 25;
            alert.StackOrder    = 3;
            alert.OnMouseOver  += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseOver);
            alert.OnMouseLeave += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseLeave);
            alert.OnRelease    += new EventHandler <ButtonEventArgs>(button_OnRelease);
            AddChild(alert);

            mission               = new PanelButton(game, PanelButtonType.ResourcesMission);
            mission.StackOrder    = 3;
            mission.XRelative     = buttonsX;
            mission.YRelative     = 60;
            mission.OnMouseOver  += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseOver);
            mission.OnMouseLeave += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseLeave);
            mission.OnRelease    += new EventHandler <ButtonEventArgs>(button_OnRelease);
            AddChild(mission);

            control               = new PanelButton(game, PanelButtonType.ResourcesControl);
            control.StackOrder    = 3;
            control.XRelative     = buttonsX;
            control.YRelative     = 89;
            control.OnMouseOver  += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseOver);
            control.OnMouseLeave += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseLeave);
            control.OnRelease    += new EventHandler <ButtonEventArgs>(button_OnRelease);
            AddChild(control);

            save               = new PanelButton(game, PanelButtonType.ResourcesSave);
            save.StackOrder    = 3;
            save.XRelative     = buttonsX + 3;
            save.YRelative     = 123;
            save.OnMouseOver  += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseOver);
            save.OnMouseLeave += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseLeave);
            save.OnRelease    += new EventHandler <ButtonEventArgs>(button_OnRelease);
            AddChild(save);

            exit               = new PanelButton(game, PanelButtonType.ResourcesExit);
            exit.StackOrder    = 3;
            exit.XRelative     = buttonsX + 2;
            exit.YRelative     = 155;
            exit.OnMouseOver  += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseOver);
            exit.OnMouseLeave += new EventHandler <ButtonEventArgs>(LeftButton_OnMouseLeave);
            exit.OnRelease    += new EventHandler <ButtonEventArgs>(button_OnRelease);
            AddChild(exit);

            #region ControlPanel
            controlPanel            = new ControlPanel(game);
            controlPanel.StackOrder = 3;
            controlPanel.Visible    = false;
            controlPanel.Enabled    = false;
            AddChild(controlPanel);
            #endregion

            #region MissionPannel
            missionPanel            = new MissionPanel(game);
            missionPanel.StackOrder = 3;
            missionPanel.XRelative  = 300;
            missionPanel.YRelative  = 200;
            missionPanel.Visible    = false;
            missionPanel.Enabled    = false;
            AddChild(missionPanel);
            #endregion

            #region AlertPannel
            alertPanel            = new AlertPanel(game);
            alertPanel.StackOrder = 3;
            alertPanel.XRelative  = 300;
            alertPanel.YRelative  = 200;
            alertPanel.Visible    = false;
            alertPanel.Enabled    = false;
            alertPanel.On_Blink  += new EventHandler(alertPanel_On_Blink);
            AddChild(alertPanel);
            #endregion

            tooltip            = new Tooltip(game, 2);
            tooltip.XRelative  = buttonsX + exit.Width + 5;
            tooltip.StackOrder = 2;
            tooltip.YRelative  = 0;
            AddChild(tooltip);
            tooltip.Visible = false;
        }
        public CommandCenterOptionsPanel(Game game, int DrawOrder) : base(game)
        {
            graphicsCollection = (GraphicsCollection)Game.Services.GetService(typeof(GraphicsCollection));
            generalButtons     = new List <List <CommandCenterGeneralButton> >();
            sublistGame        = new List <CommandCenterGeneralButton>();
            sublistVideo       = new List <CommandCenterGeneralButton>();
            sublistAudio       = new List <CommandCenterGeneralButton>();
            sublistControls    = new List <CommandCenterGeneralButton>();


            //------------------------------
            //--Setting Default Options (will be used when initializing objects, in the next instructions)
            DefaultOptions = new CommandCenterEventArgs(1);
            //everything is set to a GENERAL default
            //------------------------------


            //---SaveSettings Options Button-----
            btnSaveOptions            = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("SaveOptions")), DrawOrder);
            btnSaveOptions.Position   = new Point(390, 675);
            btnSaveOptions.OnPress   += new EventHandler <ButtonEventArgs>(Do_SaveOptionsPress);
            btnSaveOptions.OnRelease += new EventHandler <ButtonEventArgs>(Do_SaveOptionsRelease);
            AddChild(btnSaveOptions);
            //---------------------------

            //-----Primary Buttons-------
            btnGame               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Options_Game")), DrawOrder);
            btnGame.Position      = new Point(70, 150);
            btnGame.OnPress      += new EventHandler <ButtonEventArgs>(Do_GeneralBtnPressed);
            btnGame.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseOver);
            btnGame.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseLeave);
            AddChild(btnGame);
            sublistGame.Add(btnGame);

            btnVideo               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Options_Video")), DrawOrder);
            btnVideo.Position      = new Point(70, 300);
            btnVideo.OnPress      += new EventHandler <ButtonEventArgs>(Do_GeneralBtnPressed);
            btnVideo.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseOver);
            btnVideo.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseLeave);
            AddChild(btnVideo);
            sublistVideo.Add(btnVideo);

            btnAudio               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Options_Audio")), DrawOrder);
            btnAudio.Position      = new Point(70, 440);
            btnAudio.OnPress      += new EventHandler <ButtonEventArgs>(Do_GeneralBtnPressed);
            btnAudio.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseOver);
            btnAudio.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseLeave);
            AddChild(btnAudio);
            sublistAudio.Add(btnAudio);

            btnControls               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Options_Controls")), DrawOrder);
            btnControls.Position      = new Point(70, 580);
            btnControls.OnPress      += new EventHandler <ButtonEventArgs>(Do_GeneralBtnPressed);
            btnControls.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseOver);
            btnControls.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_GeneralBtnMouseLeave);
            AddChild(btnControls);
            sublistControls.Add(btnControls);

            //---GAME Submenu Buttons-------
            btnGame_SaveGame               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("SaveGame")), DrawOrder);
            btnGame_SaveGame.Position      = new Point(260, 128);
            btnGame_SaveGame.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnGame_SaveGame.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnGame_SaveGame.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnGame_SaveGame);
            sublistGame.Add(btnGame_SaveGame);

            btnGame_Difficulty               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Difficulty")), DrawOrder);
            btnGame_Difficulty.Position      = new Point(260, 181);
            btnGame_Difficulty.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnGame_Difficulty.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnGame_Difficulty.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnGame_Difficulty);
            sublistGame.Add(btnGame_Difficulty);

            //---Submenu button SaveGame Options-----
            btnSave            = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("SaveBtn")), DrawOrder);
            btnSave.Position   = new Point(454, 126);
            btnSave.OnRelease += new EventHandler <ButtonEventArgs>(Do_BtnSaveMouseRelease);
            AddChild(btnSave);

            AutosaveSprite            = new Sprite(game, graphicsCollection.GetPack("Autosave"));
            AutosaveSprite.StackOrder = DrawOrder;
            AutosaveSprite.XRelative  = 567;
            AutosaveSprite.YRelative  = 133;
            AddChild(AutosaveSprite);

            positions = new int [6] {
                746, 127, 705, 127, 820, 127
            };
            AutosaveScrollbar               = new Scrollbar(game, new Sprite(game, graphicsCollection.GetPack("AutosaveTimeDisplay")), new Sprite(Game, graphicsCollection.GetPack("ScrollBarLeftArrow")), new Sprite(Game, graphicsCollection.GetPack("ScrollBarRightArrow")), DrawOrder, positions);
            AutosaveScrollbar.OnScrollUp   += new EventHandler(Do_AutosaveScrollbar_LeftScroll);
            AutosaveScrollbar.OnScrollDown += new EventHandler(Do_AutosaveScrollbar_RightScroll);
            AddChild(AutosaveScrollbar);

            AutosaveTime           = new SpriteText(game, FontsCollection.GetPack("Courier New 10").Font);
            AutosaveTime.XRelative = 754;
            AutosaveTime.YRelative = 133;
            TimeValueIndexSelected = DefaultOptions.TimeValueIndex;//by default, autosave every 30 min
            AutosaveTime.Text      = TimeValues[TimeValueIndexSelected].ToString() + " min";
            AutosaveTime.Tint      = Color.LightGray;
            AddChild(AutosaveTime);

            DefaultOptions.AutosaveTimeValue = TimeValues[TimeValueIndexSelected];
            //---------------------------------------


            //---Submenu button Difficulty Options---
            positions = new int[4] {
                443, 185, 508, 180
            };
            rbnEasy = new RadioButton(game, new Sprite(game, graphicsCollection.GetPack("Diff_Easy")), new Sprite(Game, graphicsCollection.GetPack("Checkbox")), DrawOrder, positions);
            rbnEasy.AllowDirectUncheck = false;
            rbnEasy.OnCheck           += new EventHandler(Do_DifficultyRadioChecked);
            rbnEasy.Name = "Easy";
            AddChild(rbnEasy);
            DifficultyRadioGroup.Add(rbnEasy);

            positions = new int[4] {
                558, 185, 651, 180
            };
            rbnMedium = new RadioButton(game, new Sprite(game, graphicsCollection.GetPack("Diff_Medium")), new Sprite(Game, graphicsCollection.GetPack("Checkbox")), DrawOrder, positions);
            rbnMedium.AllowDirectUncheck = false;
            rbnMedium.OnCheck           += new EventHandler(Do_DifficultyRadioChecked);
            rbnMedium.Name = "Medium";
            AddChild(rbnMedium);
            DifficultyRadioGroup.Add(rbnMedium);

            positions = new int[4] {
                703, 185, 773, 180
            };
            rbnHard = new RadioButton(game, new Sprite(game, graphicsCollection.GetPack("Diff_Hard")), new Sprite(Game, graphicsCollection.GetPack("Checkbox")), DrawOrder, positions);;
            rbnHard.AllowDirectUncheck = false;
            rbnHard.OnCheck           += new EventHandler(Do_DifficultyRadioChecked);
            rbnHard.Name = "Hard";
            AddChild(rbnHard);
            DifficultyRadioGroup.Add(rbnHard);

            DifficultyLevelCurrentlySelected = DefaultOptions.DifficultyLevel;
            switch (DifficultyLevelCurrentlySelected)
            {
            case "Easy":
                rbnEasy.Check();
                break;

            case "Medium":
                rbnMedium.Check();
                break;

            case "Hard":
                rbnHard.Check();
                break;

            default:
                rbnEasy.Check();
                break;
            }
            //---------------------------------------

            //------------------------------


            //---VIDEO Submenu Buttons------
            btnVideo_Resolution               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Resolution")), DrawOrder);
            btnVideo_Resolution.Position      = new Point(260, 276);
            btnVideo_Resolution.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnVideo_Resolution.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnVideo_Resolution.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnVideo_Resolution);
            sublistVideo.Add(btnVideo_Resolution);

            btnVideo_FullScreen               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("FullScreen")), DrawOrder);
            btnVideo_FullScreen.Position      = new Point(260, 326);
            btnVideo_FullScreen.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnVideo_FullScreen.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnVideo_FullScreen.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnVideo_FullScreen);
            sublistVideo.Add(btnVideo_FullScreen);

            //---Submenu button ResolutionIndex Options-------
            Resolution           = new SpriteText(Game, FontsCollection.GetPack("Courier New 10").Font);
            Resolution.XRelative = 617;
            Resolution.YRelative = 280;
            Resolution.Tint      = Color.LightGray;

            ResolutionValueIndexSelected   = DefaultOptions.ResolutionIndex;
            DefaultOptions.ResolutionValue = ResolutionValues[ResolutionValueIndexSelected];

            Resolution.Text = ResolutionValues[ResolutionValueIndexSelected].X.ToString() + " X " + ResolutionValues[ResolutionValueIndexSelected].Y.ToString();
            AddChild(Resolution);

            positions = new int[6] {
                592, 275, 550, 275, 738, 275
            };
            ResolutionIndicator               = new Scrollbar(game, new Sprite(game, graphicsCollection.GetPack("ResolutionDisplay")), new Sprite(Game, graphicsCollection.GetPack("ScrollBarLeftArrow")), new Sprite(Game, graphicsCollection.GetPack("ScrollBarRightArrow")), DrawOrder, positions);
            ResolutionIndicator.OnScrollUp   += new EventHandler(Do_ResolutionIndicator_LeftScroll);
            ResolutionIndicator.OnScrollDown += new EventHandler(Do_ResolutionIndicator_RightScroll);
            AddChild(ResolutionIndicator);
            //------------------------------

            //---Submenu button FullScreen Options-------
            positions = new int[4] {
                465, 330, 505, 322
            };
            rbnFullScreenOn = new RadioButton(game, new Sprite(game, graphicsCollection.GetPack("On")), new Sprite(Game, graphicsCollection.GetPack("Checkbox")), DrawOrder, positions);
            rbnFullScreenOn.AllowDirectUncheck = false;
            rbnFullScreenOn.OnCheck           += new EventHandler(Do_FullScreenRadioOnChecked);
            AddChild(rbnFullScreenOn);

            positions = new int[4] {
                575, 330, 625, 322
            };
            rbnFullScreenOff = new RadioButton(game, new Sprite(game, graphicsCollection.GetPack("Off")), new Sprite(Game, graphicsCollection.GetPack("Checkbox")), DrawOrder, positions);
            rbnFullScreenOff.AllowDirectUncheck = false;
            rbnFullScreenOff.OnCheck           += new EventHandler(Do_FullScreenRadioOffChecked);
            AddChild(rbnFullScreenOff);

            FullScreenCurrentState = DefaultOptions.FullScreen;//"Off" by default;
            switch (FullScreenCurrentState)
            {
            case "On":
                rbnFullScreenOn.Check();
                break;

            case "Off":
                rbnFullScreenOff.Check();
                break;

            default:
                rbnFullScreenOff.Check();
                break;
            }
            //------------------------------

            //------------------------------


            //---AUDIO Submenu Buttons------
            btnAudio_Volume               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Volume")), DrawOrder);
            btnAudio_Volume.Position      = new Point(260, 411);
            btnAudio_Volume.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnAudio_Volume.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnAudio_Volume.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnAudio_Volume);
            sublistAudio.Add(btnAudio_Volume);

            btnAudio_Sound               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("Sound")), DrawOrder);
            btnAudio_Sound.Position      = new Point(260, 461);
            btnAudio_Sound.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnAudio_Sound.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnAudio_Sound.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnAudio_Sound);
            sublistAudio.Add(btnAudio_Sound);

            //---Submenu button Volume Options-------
            VolumeValueSprite             = new Sprite(game, graphicsCollection.GetPack("Increment"));
            VolumeValueSprite.StackOrder  = DrawOrder;
            VolumeValueSprite.XRelative   = 457;
            VolumeValueSprite.YRelative   = 417;
            VolumeValueSprite.FrameNumber = DefaultOptions.VolumeValue;//0 by default
            AddChild(VolumeValueSprite);

            positions = new int[6] {
                450, 410, 410, 410, 545, 410
            };
            VolumeIndicator               = new Scrollbar(game, new Sprite(game, graphicsCollection.GetPack("PlusMinusDisplay")), new Sprite(Game, graphicsCollection.GetPack("Minus")), new Sprite(Game, graphicsCollection.GetPack("Plus")), DrawOrder, positions);
            VolumeIndicator.OnScrollUp   += new EventHandler(Do_VolumeIndicatorLeftScroll);
            VolumeIndicator.OnScrollDown += new EventHandler(Do_VolumeIndicatorRightScroll);
            AddChild(VolumeIndicator);
            //---------------------------------------

            //---Submenu button Sound Options-------
            positions = new int[4] {
                395, 465, 435, 459
            };
            rbnSoundOn = new RadioButton(game, new Sprite(game, graphicsCollection.GetPack("On")), new Sprite(Game, graphicsCollection.GetPack("Checkbox")), DrawOrder, positions);
            rbnSoundOn.AllowDirectUncheck = false;
            rbnSoundOn.OnCheck           += new EventHandler(Do_SoundRadioOnChecked);
            AddChild(rbnSoundOn);

            positions = new int[4] {
                507, 465, 557, 459
            };
            rbnSoundOff = new RadioButton(game, new Sprite(game, graphicsCollection.GetPack("Off")), new Sprite(Game, graphicsCollection.GetPack("Checkbox")), DrawOrder, positions);
            rbnSoundOff.AllowDirectUncheck = false;
            rbnSoundOff.OnCheck           += new EventHandler(Do_SoundRadioOffChecked);
            AddChild(rbnSoundOff);

            rbnSoundOn.Check();
            SoundCurrentState = DefaultOptions.SoundState;//"On" by default
            switch (SoundCurrentState)
            {
            case "On":
                rbnSoundOn.Check();
                break;

            case "Off":
                rbnSoundOff.Check();
                break;

            default:
                rbnSoundOn.Check();
                break;
            }
            //------------------------------

            //------------------------------


            //---CONTROLS Submenu Buttons---
            btnControls_Mouse               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("MouseOptions")), DrawOrder);
            btnControls_Mouse.Position      = new Point(260, 546);
            btnControls_Mouse.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnControls_Mouse.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnControls_Mouse.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnControls_Mouse);
            sublistControls.Add(btnControls_Mouse);

            btnControls_Keyboard               = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("KeyboardOptions")), DrawOrder);
            btnControls_Keyboard.Position      = new Point(260, 601);
            btnControls_Keyboard.OnPress      += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnPressed);
            btnControls_Keyboard.OnMouseOver  += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseOver);
            btnControls_Keyboard.OnMouseLeave += new EventHandler <ButtonEventArgs>(Do_SubmenuBtnMouseLeave);
            AddChild(btnControls_Keyboard);
            sublistControls.Add(btnControls_Keyboard);

            //---Submenu button CameraSpeed Options-----
            CameraSpeedSprite           = new Sprite(game, graphicsCollection.GetPack("CameraSpeed"));
            CameraSpeedSprite.XRelative = 400;
            CameraSpeedSprite.YRelative = 550;
            AddChild(CameraSpeedSprite);

            CameraSpeedValueSprite             = new Sprite(game, graphicsCollection.GetPack("Increment"));
            CameraSpeedValueSprite.XRelative   = 637;
            CameraSpeedValueSprite.YRelative   = 550;
            CameraSpeedValueSprite.FrameNumber = DefaultOptions.CameraSpeed;//0 by default
            AddChild(CameraSpeedValueSprite);

            positions = new int[6] {
                630, 543, 590, 543, 727, 543
            };
            CameraSpeedIndicator               = new Scrollbar(game, new Sprite(game, graphicsCollection.GetPack("PlusMinusDisplay")), new Sprite(Game, graphicsCollection.GetPack("Minus")), new Sprite(Game, graphicsCollection.GetPack("Plus")), DrawOrder, positions);
            CameraSpeedIndicator.OnScrollUp   += new EventHandler(Do_CameraSpeedIndicator_LeftScroll);
            CameraSpeedIndicator.OnScrollDown += new EventHandler(Do_CameraSpeedIndicator_RightScroll);
            AddChild(CameraSpeedIndicator);
            //---------------------------------------

            //---Submenu button KeyShortcuts Options-----
            btnKeyShortcuts                 = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("KeyShortcuts")), DrawOrder);
            btnKeyShortcuts.Position        = new Point(440, 600);
            btnKeyShortcuts.OnMousePress   += new EventHandler <MouseEventArgs>(Do_BtnKeyShortcutsPressed);
            btnKeyShortcuts.OnMouseRelease += new EventHandler <MouseEventArgs>(Do_BtnKeyShortcutsReleased);
            AddChild(btnKeyShortcuts);

            KeyShortcutsPanel            = new Sprite(game, graphicsCollection.GetPack("KeyShortcutsPanel"));
            KeyShortcutsPanel.XRelative  = 52;
            KeyShortcutsPanel.YRelative  = 125;
            KeyShortcutsPanel.StackOrder = DrawOrder + 2;
            KeyShortcutsPanel.Enabled    = false;
            AddChild(KeyShortcutsPanel);

            btnKeyShortcutsPanel_Back                 = new CommandCenterGeneralButton(game, new Sprite(game, graphicsCollection.GetPack("btnKeyShortcutsPanel_Back")), DrawOrder + 3);
            btnKeyShortcutsPanel_Back.Position        = new Point(855, 150);
            btnKeyShortcutsPanel_Back.OnMouseRelease += new EventHandler <MouseEventArgs>(Do_BtnKeyShortcutsPanel_BackReleased);
            btnKeyShortcutsPanel_Back.Enabled         = false;
            AddChild(btnKeyShortcutsPanel_Back);
            //---------------------------------------

            //------------------------------

            //------------------------------
            //--Saving/Setting LastSave Options (which are the Default values, at this point)
            TimeValueIndexSelected_LastSave = TimeValueIndexSelected;

            if (rbnEasy.IsChecked)
            {
                DifficultyLevel_LastSave = rbnEasy.Name;
            }
            else
            if (rbnMedium.IsChecked)
            {
                DifficultyLevel_LastSave = rbnMedium.Name;
            }
            else
            {
                DifficultyLevel_LastSave = rbnHard.Name;
            }

            ResolutionValueIndexSelected_LastSave = ResolutionValueIndexSelected;

            if (rbnFullScreenOn.IsChecked)
            {
                FullScreenState_LastSave = "On";
            }
            else
            {
                FullScreenState_LastSave = "Off";
            }

            VolumeValue_LastSave = VolumeValueSprite.FrameNumber;

            if (rbnSoundOn.IsChecked)
            {
                SoundState_LastSave = "On";
            }
            else
            {
                SoundState_LastSave = "Off";
            }

            CameraSpeed_LastState = CameraSpeedValueSprite.FrameNumber;
            //------------------------------

            generalButtons.Add(sublistGame);
            generalButtons.Add(sublistVideo);
            generalButtons.Add(sublistAudio);
            generalButtons.Add(sublistControls);

            this.StackOrder = DrawOrder;
        }
Exemplo n.º 30
0
        public GameMap(Game game, string Zone)
            : base(game)
        {
            changesMade = false;

            mapFile = zonesFolder + "\\" + Zone + "\\" + mapFile;

            //Loading the Map
            xmlLoaderMap = XElement.Load(mapFile);
            IEnumerable <XElement> mapData = from element in xmlLoaderMap.Elements() select element;
            int elementCount = 0;

            int w = 0;
            int h = 0;

            slotList = new List <Slot>();

            foreach (XElement data in mapData)
            {
                numberOfItemsToRead += data.Elements().Count();
            }

            List <Slot> historySlotList = ProfilesManager.LoadZoneHistory();

            numberOfItemsToRead += historySlotList.Count;

            foreach (XElement data in mapData) //3 categories: Map Dimensions, Map Elements, Slots
            {
                switch (elementCount)
                {
                case 0:     //reads the map dimensions and loades the ground

                    w = Convert.ToInt32(data.Element("Width").Value);
                    h = Convert.ToInt32(data.Element("Height").Value);

                    for (int i = 0; i < w; i++)
                    {
                        for (int j = 0; j < h; j++)
                        {
                            Sprite ground = new Sprite(game, GraphicsCollection.GetPack("ground"));
                            ground.StackOrder  = stackOrder_map;
                            ground.XRelative   = ground.Width * i;
                            ground.YRelative   = ground.Height * j;
                            ground.FrameNumber = 0;
                            AddChild(ground);

                            width  = w * ground.Width;
                            height = h * ground.Height;
                        }
                    }
                    numberOfItemsRead++;
                    DisplayManager.ChangePreloaderPercent(PercentCreated);
                    break;

                case 1:     //reads the map elements
                    IEnumerable <XElement> mapElements = from element in data.Elements() select element;

                    foreach (XElement mapElement in mapElements)
                    {
                        string TexturePack = Convert.ToString(mapElement.Element("TexturePack").Value);
                        int    frameNumber = Convert.ToInt32(mapElement.Element("FrameNumber").Value);
                        int    X           = Convert.ToInt32(mapElement.Element("X").Value);
                        int    Y           = Convert.ToInt32(mapElement.Element("Y").Value);

                        Sprite mapSpriteElement = new Sprite(game, GraphicsCollection.GetPack(TexturePack).Frames[frameNumber]);
                        mapSpriteElement.StackOrder  = stackOrder_map;
                        mapSpriteElement.XRelative   = X;
                        mapSpriteElement.YRelative   = Y;
                        mapSpriteElement.FrameNumber = 0;
                        AddChild(mapSpriteElement);

                        numberOfItemsRead++;
                        DisplayManager.ChangePreloaderPercent(PercentCreated);
                    }
                    break;

                case 2:     //reads the slots
                    IEnumerable <XElement> slotsData = from element in data.Elements() select element;

                    foreach (XElement slotElement in slotsData)
                    {
                        ConstructionType slot_constructionType = (ConstructionType)Enum.Parse(typeof(ConstructionType), Convert.ToString(slotElement.Element("ConstructionType").Value));

                        int X = Convert.ToInt32(slotElement.Element("X").Value);
                        int Y = Convert.ToInt32(slotElement.Element("Y").Value);

                        Slot slot;
                        slot             = new Slot(game, slot_constructionType);
                        slot.StackOrder  = stackOrder_slots;
                        slot.XSlotCenter = X;
                        slot.YSlotCenter = Y;
                        slot.Visible     = false;
                        slot.OnSelected += new EventHandler(slot_OnSelected);
                        AddChild(slot);
                        slotList.Add(slot);

                        numberOfItemsRead++;
                        DisplayManager.ChangePreloaderPercent(PercentCreated);
                    }
                    break;
                    //case 3, se det slot-ul dupa x si y si se face instanta slot
                    // se face instanta reservation
                    //se trimit SetConstructionReservation(slot+reservation)
                }
                elementCount++;
            }

            //reading zone history
            for (int i = 0; i < slotList.Count; i++)
            {
                for (int j = 0; j < historySlotList.Count; j++)
                {
                    if (slotList[i].ConstructionType == historySlotList[j].ConstructionType &&
                        slotList[i].XSlotCenter == historySlotList[j].XSlotCenter &&
                        slotList[i].YSlotCenter == historySlotList[j].YSlotCenter)
                    {
                        slotList[i].ReservationList = historySlotList[j].ReservationList;
                        numberOfItemsRead++;
                        DisplayManager.ChangePreloaderPercent(PercentCreated);
                        break;
                    }
                }
            }

            Game.Services.AddService(typeof(GameMap), this);

            //test only, the population will be loaded from the saved game
            GameManager.LoadHistory();
            changesMade = true;
            GameManager.UpdateYear(2010);

            HideSlots();

            DisplayManager.GameMap_HidePreloader();
        }