AddCaption() public method

public AddCaption ( IForm form, string text ) : void
form IForm
text string
return void
Ejemplo n.º 1
0
        public void Initialize()
        {
            widgets.Clear();
            worldbuttons.Clear();
            menu.AddBackground(widgets);
            menu.AddCaption(this, "Select world");
            string[] w = new List <string>(game.GetWorlds()).ToArray();
            for (int i = 0; i < w.Length; i++)
            {
                if (string.IsNullOrEmpty(w[i]))
                {
                    w[i] = "Empty";
                }
            }
            for (int i = 0; i < 8; i++)
            {
                int ii     = i;//closure
                var widget = new Widget()
                {
                    BackgroundImage         = menu.button4,
                    BackgroundImageSelected = menu.button4sel,
                    Rect     = new RectangleF(350 + (i % 2) * 500, 300 + (i / 2) * 150, 400, 128),
                    Text     = w[i],
                    Click    = delegate { selectedWorld = ii; },
                    selected = selectedWorld == i,
                };
                worldbuttons.Add(widget);
                widgets.Add(widget);
            }

            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect  = new RectangleF(650, 900, 300, 90),//500
                Text  = "Delete",
                Click = delegate
                {
                    string name = game.GetWorlds()[selectedWorld.Value];
                    if (!string.IsNullOrEmpty(name))
                    {
                        menu.MessageBoxYesNo(string.Format("Are you sure you want to delete world \"{0}\"?", name)
                                             , delegate { game.DeleteWorld(selectedWorld.Value); Initialize(); }, delegate { });
                    }
                },
                FontSize = 20,
            });/*
                * widgets.Add(new Widget()
                * {
                * BackgroundImage = "button4.png",
                * BackgroundImageSelected = "button4_sel.png",
                * Rect = new RectangleF(800, 900, 300, 90),
                * Text = "Options",
                * Click = delegate { },
                * FontSize = 20,
                * });*/

            menu.AddOkCancel(this, delegate { menu.afterSelectWorld(); }, delegate { menu.FormMainMenu(); });
        }
Ejemplo n.º 2
0
        public void Initialize()
        {
            widgets.Clear();
            menu.AddBackground(this.widgets);
            menu.AddCaption(this, "New world");

            /*
             * widgets.Add(new Widget()
             * {
             *  BackgroundImage = null,
             *  BackgroundImageSelected = null,
             *  Rect = new RectangleF(200, 200, 400, 90),
             *  Text = "World: " + (selectedWorld == null ? "none" : game.GetWorlds()[selectedWorld.Value]),
             *  Click = delegate { afterSelectWorld = FormStartMultiplayerServer; FormSelectWorld(); },
             *  FontSize = 20,
             * });
             * widgets.Add(new Widget()
             * {
             *  BackgroundImage = "button4.png",
             *  BackgroundImageSelected = "button4_sel.png",
             *  Rect = new RectangleF(500, 200, 300, 90),
             *  Text = "Select",
             *  Click = delegate { afterSelectWorld = FormStartMultiplayerServer; FormSelectWorld(); },
             *  FontSize = 20,
             * });
             */
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(200, 300, 400, 90),
                Text     = "World name: ",
                Click    = delegate { },
                FontSize = 20,
            });
            string name = game.GetWorlds()[worldId];

            if (string.IsNullOrEmpty(name))
            {
                name = "World " + (worldId + 1);
            }
            var nameTextbox = new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect      = new RectangleF(500, 300, 600, 90),
                Text      = name,
                Click     = delegate { }, //todo textbox
                FontSize  = 20,
                IsTextbox = true,
            };

            widgets.Add(nameTextbox);
            menu.AddOkCancel(this, delegate { game.SetWorldOptions(worldId, nameTextbox.Text); menu.afterWorldOptions(); }, delegate { menu.currentForm = menu.d_FormSelectWorld; });
        }
Ejemplo n.º 3
0
        public void Initialize()
        {
            widgets.Clear();
            menu.AddBackground(widgets);
            menu.AddCaption(this, "Start server");
            selectedWorldWidget = new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(200, 200, 400, 90),
                Text     = "",//Render()
                Click    = delegate { menu.FormSelectWorld(menu.FormStartServer); },
                FontSize = 20,
            };
            widgets.Add(selectedWorldWidget);
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect     = new RectangleF(500, 200, 300, 90),
                Text     = "Select",
                Click    = delegate { menu.FormSelectWorld(delegate { menu.FormStartServer(); }); },
                FontSize = 20,
            });

            //Connection options
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(200, 300, 400, 90),
                Text     = "Server name: ",
                Click    = delegate { },
                FontSize = 20,
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect      = new RectangleF(500, 300, 600, 90),
                IsTextbox = true,
                FontSize  = 20,
                Text      = "My server",
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(200, 400, 400, 90),
                Text     = "Max players: ",
                Click    = delegate { },
                FontSize = 20,
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect      = new RectangleF(500, 400, 600, 90),
                IsTextbox = true,
                IsNumeric = true,
                FontSize  = 20,
                Text      = "16",
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(200, 500, 400, 90),
                Text     = "Password: "******"Public: ",
                Click    = delegate { },
                FontSize = 20,
            });
            publicWidget = new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect     = new RectangleF(500, 600, 200, 90),
                Text     = "",//Render()
                Click    = delegate { serverpublic = !serverpublic; },
                FontSize = 20,
            };
            widgets.Add(publicWidget);

            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect     = new RectangleF(1200, 200, 300, 90),
                Text     = "Show my IP",
                Click    = delegate { },
                FontSize = 20,
            });

            //Bottom buttons
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect = new RectangleF(200, 1000, 400, 128),
                Text = serverstarted ? "Stop" : "Start",
                //Click = delegate { serverstarted = !serverstarted; FormStartMultiplayerServer(); },
                Click = delegate { game.StartAndJoinLocalServer(menu.d_FormSelectWorld.selectedWorld.Value); }
            });
            //widgets.Add(new Button()
            //{
            //    BackgroundImage = "button4.png",
            //    BackgroundImageSelected = "button4_sel.png",
            //    Rect = new RectangleF(600, 1000, 400, 128),
            //    Text = "Play",
            //    Click = delegate { FormGame(); },
            //});
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect  = new RectangleF(1000, 1000, 400, 128),
                Text  = "Cancel",
                Click = delegate { menu.FormMainMenu(); }
            });
        }
Ejemplo n.º 4
0
        public void Initialize()
        {
            widgets.Clear();
            menu.AddBackground(widgets);
            menu.AddCaption(this, "Login");

            //Captions
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect = new RectangleF(300, 200, 400, 128),
                Text = "Use account",
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect = new RectangleF(1100, 200, 400, 128),
                Text = "Create account",
            });

            //TextBox Login

            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect = new RectangleF(300 - 50, 400, 400, 90),
                Text = "Name: ",
                //Click = FormJoinMultiplayer,
                FontSize = 20,
            });
            userTextbox = new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect      = new RectangleF(300 + 100, 400, 350, 90),
                Text      = game.LoginName,
                FontSize  = 20,
                IsTextbox = true,
            };
            widgets.Add(userTextbox);
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect = new RectangleF(300 - 50, 400 + 100, 400, 90),
                Text = "Pass: "******"(leave empty to\n play as a guest)",
                FontSize  = 20,
                Visible   = true,
                TextColor = Color.Gray,
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect      = new RectangleF(1050, 450, 400, 128),
                Text      = "(click link to open website)",
                FontSize  = 20,
                TextColor = Color.Gray,
            });

            //Link Create Account
            string url = "http://fragmer.net/md/";

            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect  = new RectangleF(1050, 350, 400, 128),
                Text  = "&1" + url,
                Click = delegate { System.Diagnostics.Process.Start(url); },
            });

            invalidLoginWidget = new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect      = new RectangleF(300, 400 + 300, 350, 90),
                Text      = "Invalid username or password.",
                FontSize  = 20,
                Visible   = false,
                TextColor = Color.Red,
            };
            widgets.Add(invalidLoginWidget);

            //Buttons
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect  = new RectangleF(300, 900, 400, 128),
                Text  = "Login",
                Click = delegate
                {
                    if (passwordTextbox.Text == "")
                    {
                        game.LoginGuest(userTextbox.Text);
                        RememberPassword();
                        menu.FormJoinMultiplayer();
                    }
                    bool success = game.LoginAccount(userTextbox.Text, passwordTextbox.Text);
                    if (!success)
                    {
                        invalidLoginWidget.Visible = true;
                        start = DateTime.UtcNow;
                    }
                    else
                    {
                        RememberPassword();
                        menu.FormJoinMultiplayer();
                    }
                },
            });

            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(300 - 50, 600, 400, 90),
                Text     = "Remember password: "******"",//Render()
                Click    = delegate { rememberpassword = !rememberpassword; rememberPassword_CheckedChanged(); },
                FontSize = 20,
            };
            widgets.Add(rememberPasswordWidget);

            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect  = new RectangleF(800, 900, 400, 128),
                Text  = "Cancel",
                Click = delegate { menu.typingfield = -1; menu.FormJoinMultiplayer(); },
            });

            LoadPassword();
        }
Ejemplo n.º 5
0
        private void InitializeWidgets()
        {
            widgets.Clear();
            menu.AddBackground(widgets);
            int[] columnWidths = new int[] { 600, 130, 100, 250, 200 };
            AddListboxRow(new[] { "Name", "Players", "Max", "Ip", "Version" }, 50, 290, columnWidths, -1, Color.White);
            if (servers != null && scrollbar != null)
            {
                for (int i = 0; i < serversPerScreen; i++)
                {
                    int serverid = scrollbar.ScrollbarValue * serversPerScreen + i;
                    if (serverid >= servers.Length)
                    {
                        break;
                    }
                    var s = servers[serverid];
                    AddListboxRow(new string[] { Trim(s.Name, 36), s.Users.ToString(), s.Max.ToString(), s.Ip, Trim(s.Version, 18) },
                                  50, 350 + i * 100, columnWidths, serverid, Color.White);
                    AddListboxRow(new string[] { Trim(s.Players, 70) },
                                  50, 350 + i * 100 + 50, columnWidths, serverid, Color.Gray);
                }
            }
            menu.AddCaption(this, "Multiplayer");
            widgets.Add(new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(1050, 50, 400, 128),
                Text     = "Playing as: " + (game.IsLoggedIn ? game.LoginName : "~" + game.LoginName),
                Click    = delegate { },
                selected = false,
                FontSize = 24,
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect     = new RectangleF(100, 150, 300, 128),
                Text     = "Refresh",
                Click    = delegate { serverlisterror = false; StartRefreshing(); },
                selected = false,
                FontSize = 24,
            });
            refreshingLabel = new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect     = new RectangleF(400, 150, 300, 128),
                Text     = "Refreshing...",
                Click    = delegate { StartRefreshing(); },
                selected = false,
                FontSize = 24,
            };
            widgets.Add(refreshingLabel);
            serverListErrorWidget = new Widget()
            {
                BackgroundImage         = null,
                BackgroundImageSelected = null,
                Rect      = new RectangleF(400, 150, 300, 128),
                Text      = "Can't connect to server list.",
                Click     = delegate { StartRefreshing(); },
                selected  = false,
                FontSize  = 24,
                Visible   = serverlisterror,
                TextColor = Color.Red,
            };
            widgets.Add(serverListErrorWidget);
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect     = new RectangleF(1100, 150, 300, 128),
                Text     = "Login",
                Click    = delegate { menu.FormLogin(); },
                selected = false,
                FontSize = 24,
            });
            if (servers != null)
            {
                int screensCount = (int)Math.Ceiling((float)servers.Length / serversPerScreen);

                //scrollbar
                if (scrollbar == null)
                {
                    scrollbar = new Widget()
                    {
                        //BackgroundImage = menu.button4,
                        //BackgroundImageSelected = menu.button4sel,
                        Rect        = new RectangleF(1400, 350, 40, 600),
                        Click       = delegate { },
                        selected    = false,
                        IsScrollbar = true,
                    };
                }
                scrollbar.ScrollbarMax = screensCount - 1;
            }
            if (scrollbar != null)
            {
                widgets.Add(scrollbar);
            }

            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect = new RectangleF(200, 1000, 400, 128),
                Text = "Connect",
                //todo: hash should be enough
                Click = delegate { game.JoinMultiplayer(servers[selectedServer].Hash); },
            });
            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect  = new RectangleF(600, 1000, 400, 128),
                Text  = "Connect to IP",
                Click = menu.FormConnectToIp,
            });

            widgets.Add(new Widget()
            {
                BackgroundImage         = menu.button4,
                BackgroundImageSelected = menu.button4sel,
                Rect  = new RectangleF(1000, 1000, 400, 128),
                Text  = "Cancel",
                Click = menu.FormMainMenu,
            });
        }
Ejemplo n.º 6
0
 //public Options options;
 public void Initialize()
 {
     widgets.Clear();
     menu.AddBackground(widgets);
     menu.AddCaption(this, "Game options");
     string[]      text    = new string[] { "Graphics", "Keys", "Other" };
     ThreadStart[] actions = new ThreadStart[]
     {
         FormGameOptionsGraphics,
         FormGameOptionsKeys,
         FormGameOptionsOther,
     };
     for (int i = 0; i < 3; i++)
     {
         widgets.Add(new Widget()
         {
             BackgroundImage         = menu.button4,
             BackgroundImageSelected = menu.button4sel,
             Rect     = new RectangleF(100 + 500 * i, 200, 400, 128),
             Text     = text[i],
             Click    = actions[i],
             selected = gameoptionstype == i,
         });
     }
     if (gameoptionstype == 0)// || gameoptionstype == 2)
     {
         string[] text1 = new string[]
         {
             "Shadows: " + (options.Shadows ? "ON" : "OFF"),
             "View distance: " + (options.DrawDistance),
             "Use server textures (restart): " + (options.UseServerTextures ? "ON" : "OFF"),
             "Font: " + options.Font,
         };
         ThreadStart[] actions1 = new ThreadStart[]
         {
             delegate { options.Shadows = !options.Shadows; Initialize(); },
             delegate { ToggleFog(); Initialize(); },
             delegate { options.UseServerTextures = !options.UseServerTextures; Initialize(); },
             delegate { if (options.Font == 0)
                        {
                            options.Font = 1;
                        }
                        else
                        {
                            options.Font = 0; Initialize();
                        } },
         };
         for (int i = 0; i < 3; i++)
         {
             widgets.Add(new Widget()
             {
                 BackgroundImage         = menu.button4,
                 BackgroundImageSelected = menu.button4sel,
                 Rect  = new RectangleF(menu.ConstWidth / 2 - 800 / 2, 460 + i * 140, 800, 128),
                 Text  = text1[i],
                 Click = actions1[i],
             });
         }
     }
     if (gameoptionstype == 1)
     {
         int column = 0;
         int minus  = 0;
         for (int i = 0; i < keyhelps.Length; i++)
         {
             int ii         = i; //a copy for closure
             int defaultkey = keyhelps[i].DefaultKey;
             int key        = defaultkey;
             if (options.Keys.ContainsKey(defaultkey))
             {
                 key = options.Keys[defaultkey];
             }
             widgets.Add(new Widget()
             {
                 BackgroundImage         = menu.button4,
                 BackgroundImageSelected = menu.button4sel,
                 Rect     = new RectangleF(80 + column * 360, 350 + i * 100 - minus, 340, 90),
                 Text     = keyhelps[i].Text + ": " + KeyName(key),
                 FontSize = 15,
                 Click    = delegate { keyselectid = ii; },
             });
             if ((i + 1) % 6 == 0)
             {
                 column++; minus += 100 * 6;
             }
         }
     }
     menu.AddOkCancel(this, menu.FormMainMenu, menu.FormMainMenu);
 }