Example #1
0
        public override void OnEntry(GameTime gameTime)
        {
            KeyboardEventDispatcher.OnKeyPressed += KeyboardEventDispatcher_OnKeyPressed;

            font = game.Content.Load <SpriteFont>(@"Fonts\CourierNew32");
            wr   = new WidgetRenderer(G, font);

            wUsername        = new TextWidget(wr);
            wUsername.Anchor = new Point(G.Viewport.Width / 2, G.Viewport.Height / 2);
            wUsername.AlignY = Alignment.BOTTOM;
            wUsername.AlignX = Alignment.MID;
            wUsername.Color  = Color.White;
            wUsername.Height = 32;

            ButtonHighlightOptions h1 = new ButtonHighlightOptions(100, 30, Color.Red);
            ButtonHighlightOptions h2 = new ButtonHighlightOptions(100, 30, Color.Green);

            bFinish = new RectButton(wr, h1, h2);
            bFinish.OffsetAlignY   = Alignment.BOTTOM;
            bFinish.OffsetAlignX   = Alignment.MID;
            bFinish.AlignX         = Alignment.MID;
            bFinish.Offset         = new Point(0, 0);
            bFinish.Parent         = wUsername;
            bFinish.OnButtonPress += bFinish_OnButtonPress;
            bFinish.Hook();

            txtLogin              = new TextWidget(wr);
            txtLogin.Height       = bFinish.Height;
            txtLogin.Text         = "Login";
            txtLogin.Color        = Color.Black;
            txtLogin.AlignX       = Alignment.MID;
            txtLogin.AlignY       = Alignment.MID;
            txtLogin.OffsetAlignX = Alignment.MID;
            txtLogin.OffsetAlignY = Alignment.MID;
            txtLogin.Parent       = bFinish;

            tInput = new TextInput();
            tInput.OnTextChanged += tInput_OnTextChanged;
            tInput.Activate();
            tInput.Text = UserConfig.UserName;

            if (UserConfig.UserName.Equals(UserConfig.DEFAULT_USER_NAME))
            {
                // Must Create A Default User Name
                wUsername.Text = "Please Enter A New Username";
            }
        }
Example #2
0
        public TeamInitWidget(WidgetRenderer wr, int w, int h, int buf, Color cBack, ButtonHighlightOptions bh1, ButtonHighlightOptions bh2, Color cText)
        {
            BackRect              = new RectWidget(wr);
            BackRect.Width        = w;
            BackRect.Height       = h;
            BackRect.Offset       = new Point(0, 0);
            BackRect.OffsetAlignY = Alignment.BOTTOM;
            BackRect.Color        = cBack;
            BackRect.LayerDepth   = 1f;

            int wh = h - buf * 2;

            TextIndex              = new TextWidget(wr);
            TextIndex.Offset       = new Point(buf, 0);
            TextIndex.OffsetAlignX = Alignment.LEFT;
            TextIndex.OffsetAlignY = Alignment.MID;
            TextIndex.AlignX       = Alignment.LEFT;
            TextIndex.AlignY       = Alignment.MID;
            TextIndex.Height       = wh;
            TextIndex.Color        = cText;
            TextIndex.Parent       = BackRect;
            TextIndex.LayerDepth   = 0.3f;

            TextUser              = new TextWidget(wr);
            TextUser.Offset       = new Point(buf, 0);
            TextUser.OffsetAlignX = Alignment.RIGHT;
            TextUser.OffsetAlignY = Alignment.MID;
            TextUser.AlignX       = Alignment.LEFT;
            TextUser.AlignY       = Alignment.MID;
            TextUser.Height       = wh;
            TextUser.Color        = cText;
            TextUser.Parent       = TextIndex;
            TextUser.LayerDepth   = 0.3f;

            ButtonScheme              = new RectButton(wr, bh1, bh2);
            ButtonScheme.Offset       = new Point(-buf, 0);
            ButtonScheme.OffsetAlignX = Alignment.RIGHT;
            ButtonScheme.OffsetAlignY = Alignment.MID;
            ButtonScheme.AlignX       = Alignment.RIGHT;
            ButtonScheme.AlignY       = Alignment.MID;
            ButtonScheme.Parent       = BackRect;
            ButtonScheme.LayerDepth   = 0.3f;
            TextScheme              = new TextWidget(wr);
            TextScheme.Height       = bh1.Height;
            TextScheme.Text         = "Default";
            TextScheme.Offset       = new Point(0, 0);
            TextScheme.OffsetAlignX = Alignment.MID;
            TextScheme.OffsetAlignY = Alignment.MID;
            TextScheme.AlignX       = Alignment.MID;
            TextScheme.AlignY       = Alignment.MID;
            TextScheme.Parent       = ButtonScheme;
            TextScheme.Color        = cText;
            TextScheme.LayerDepth   = 0f;

            ButtonRace              = new RectButton(wr, bh1, bh2);
            ButtonRace.Offset       = new Point(-buf, 0);
            ButtonRace.OffsetAlignX = Alignment.LEFT;
            ButtonRace.OffsetAlignY = Alignment.MID;
            ButtonRace.AlignX       = Alignment.RIGHT;
            ButtonRace.AlignY       = Alignment.MID;
            ButtonRace.Parent       = ButtonScheme;
            ButtonRace.LayerDepth   = 0.3f;
            TextRace              = new TextWidget(wr);
            TextRace.Height       = bh1.Height;
            TextRace.Text         = "Race";
            TextRace.Offset       = new Point(0, 0);
            TextRace.OffsetAlignX = Alignment.MID;
            TextRace.OffsetAlignY = Alignment.MID;
            TextRace.AlignX       = Alignment.MID;
            TextRace.AlignY       = Alignment.MID;
            TextRace.Parent       = ButtonRace;
            TextRace.Color        = cText;
            TextRace.LayerDepth   = 0f;

            ButtonPlayerType              = new RectButton(wr, bh1, bh2);
            ButtonPlayerType.Offset       = new Point(-buf, 0);
            ButtonPlayerType.OffsetAlignX = Alignment.LEFT;
            ButtonPlayerType.OffsetAlignY = Alignment.MID;
            ButtonPlayerType.AlignX       = Alignment.RIGHT;
            ButtonPlayerType.AlignY       = Alignment.MID;
            ButtonPlayerType.Parent       = ButtonRace;
            ButtonPlayerType.LayerDepth   = 0.3f;
            TextPlayerType              = new TextWidget(wr);
            TextPlayerType.Height       = bh1.Height;
            TextPlayerType.Text         = "None";
            TextPlayerType.Offset       = new Point(0, 0);
            TextPlayerType.OffsetAlignX = Alignment.MID;
            TextPlayerType.OffsetAlignY = Alignment.MID;
            TextPlayerType.AlignX       = Alignment.MID;
            TextPlayerType.AlignY       = Alignment.MID;
            TextPlayerType.Parent       = ButtonPlayerType;
            TextPlayerType.Color        = cText;
            TextPlayerType.LayerDepth   = 0f;

            ButtonScheme.Hook();
            ButtonRace.Hook();
            ButtonPlayerType.Hook();

            ButtonScheme.OnButtonPress     += ButtonScheme_OnButtonPress;
            ButtonRace.OnButtonPress       += ButtonRace_OnButtonPress;
            ButtonPlayerType.OnButtonPress += ButtonPlayerType_OnButtonPress;
        }
Example #3
0
        public override void OnEntry(GameTime gameTime)
        {
            // Load All The Races And Schemes
            Races   = new Dictionary <string, FileInfo>();
            schemes = new Dictionary <string, RTSColorScheme>();
            GameEngine.SearchAllInitInfo(new DirectoryInfo("Packs"), Races, schemes);
            if (schemes.Count < 1)
            {
                schemes.Add("Default", RTSColorScheme.Default);
            }
            string defScheme = "Default";

            foreach (var kvp in schemes)
            {
                defScheme = kvp.Key;
                break;
            }

            // Set Init Data To Be Nothing
            game.LoadScreen.LoadFile = null;
            eld       = new EngineLoadData();
            eld.Teams = new TeamInitOption[GameState.MAX_PLAYERS];
            for (int i = 0; i < eld.Teams.Length; i++)
            {
                eld.Teams[i].InputType  = RTSInputType.None;
                eld.Teams[i].Race       = null;
                eld.Teams[i].PlayerName = null;
                eld.Teams[i].Colors     = schemes[defScheme];
            }
            game.LoadScreen.LoadData = eld;

            wr      = new WidgetRenderer(G, game.Content.Load <SpriteFont>(@"Fonts\Impact32"));
            widgets = new TeamInitWidget[eld.Teams.Length];
            ButtonHighlightOptions bh1 = new ButtonHighlightOptions(120, 36, Color.Black);
            ButtonHighlightOptions bh2 = new ButtonHighlightOptions(120, 36, Color.DarkGray);

            string[] pt = { "None", "Player", "Computer", "Environment" };
            for (int i = 0; i < widgets.Length; i++)
            {
                widgets[i] = new TeamInitWidget(wr, 600, 44, 8, new Color(8, 8, 8), bh1, bh2, Color.Lime);
                if (i > 0)
                {
                    widgets[i].Parent = widgets[i - 1].BackRect;
                }
                widgets[i].TextIndex.Text = (i + 1).ToString();
                widgets[i].TextUser.Text  = "Unknown";
                widgets[i].Set(pt, Races, schemes);
            }
            widgets[0].TextUser.Text = UserConfig.UserName;

            menuPresets = new ScrollMenu(wr,
                                         game.Window.ClientBounds.Width - widgets[0].BackRect.Width - 20,
                                         24,
                                         game.Window.ClientBounds.Height / 24,
                                         20,
                                         40
                                         );
            menuPresets.BaseColor          = UserConfig.MainScheme.WidgetBase;
            menuPresets.TextColor          = UserConfig.MainScheme.Text;
            menuPresets.ScrollBarBaseColor = UserConfig.MainScheme.WidgetInactive;
            menuPresets.HighlightColor     = UserConfig.MainScheme.WidgetActive;
            menuPresets.Widget.Anchor      = new Point(game.Window.ClientBounds.Width - 20, 0);
            menuPresets.Widget.AlignX      = Alignment.RIGHT;
            menuPresets.Build((from gp in gPresets select gp.Name).ToArray());
            menuPresets.Hook();

            textMap              = new TextWidget(wr);
            textMap.Color        = UserConfig.MainScheme.Text;
            textMap.Offset       = new Point(0, 5);
            textMap.Height       = 32;
            textMap.OffsetAlignY = Alignment.BOTTOM;
            textMap.Parent       = widgets[widgets.Length - 1].BackRect;

            textGTController              = new TextWidget(wr);
            textGTController.Color        = UserConfig.MainScheme.Text;
            textGTController.Offset       = new Point(0, 5);
            textGTController.Height       = 32;
            textGTController.OffsetAlignY = Alignment.BOTTOM;
            textGTController.Parent       = textMap;

            SetWidgetData(gPresets[0]);

            DevConsole.OnNewCommand += DevConsole_OnNewCommand;
            KeyboardEventDispatcher.OnKeyPressed += OnKeyPressed;
            MouseEventDispatcher.OnMousePress    += OnMP;
        }