public override void OnButton(MenuWidget w) { if (w == buttonMenu) { game.ShowEscapeMenu(); } if (w == buttonInventory) { game.ShowInventory(); } if (w == buttonTalk) { if (game.GuiTyping == TypingState.None) { game.StartTyping(); game.platform.ShowKeyboard(true); } else { game.StopTyping(); game.platform.ShowKeyboard(false); } } if (w == buttonCamera) { game.CameraChange(); } }
void MouseUp(int x, int y) { for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { w.pressed = false; } } for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { if (w.type == WidgetType.Button) { if (pointInRect(x, y, w.x, w.y, w.sizex, w.sizey)) { OnButton(w); } } } } }
public override void OnButton(MenuWidget w) { if (w == back) { OnBackPressed(); } }
public ScreenLogin() { login = new MenuWidget(); login.text = "Login"; login.type = WidgetType.Button; login.nextWidget = 9; loginUsername = new MenuWidget(); loginUsername.type = WidgetType.Textbox; loginUsername.text = ""; loginUsername.description = "Username"; loginUsername.nextWidget = 2; loginPassword = new MenuWidget(); loginPassword.type = WidgetType.Textbox; loginPassword.text = ""; loginPassword.description = "Password"; loginPassword.password = true; loginPassword.nextWidget = 3; loginRememberMe = new MenuWidget(); loginRememberMe.text = "Yes"; loginRememberMe.type = WidgetType.Button; loginRememberMe.description = "Remember me"; loginRememberMe.nextWidget = 0; createAccount = new MenuWidget(); createAccount.text = "Create account"; createAccount.type = WidgetType.Button; createAccountUsername = new MenuWidget(); createAccountUsername.text = ""; createAccountUsername.type = WidgetType.Textbox; createAccountUsername.description = "Username"; createAccountPassword = new MenuWidget(); createAccountPassword.text = ""; createAccountPassword.type = WidgetType.Textbox; createAccountPassword.description = "Password"; createAccountPassword.password = true; createAccountRememberMe = new MenuWidget(); createAccountRememberMe.text = "Yes"; createAccountRememberMe.type = WidgetType.Button; createAccountRememberMe.description = "Remember me"; back = new MenuWidget(); back.text = "Back"; back.type = WidgetType.Button; back.nextWidget = 1; title = "Login"; widgets[0] = login; widgets[1] = loginUsername; widgets[2] = loginPassword; widgets[3] = loginRememberMe; widgets[4] = createAccount; widgets[5] = createAccountUsername; widgets[6] = createAccountPassword; widgets[7] = createAccountRememberMe; widgets[9] = back; loginUsername.GetFocus(); loginResult = new LoginResultRef(); }
public ScreenSingleplayer() { play = new MenuWidget(); play.text = "Play"; newWorld = new MenuWidget(); newWorld.text = "New World"; modify = new MenuWidget(); modify.text = "Modify"; back = new MenuWidget(); back.text = "Back"; back.type = WidgetType.Button; open = new MenuWidget(); open.text = "Create or open..."; open.type = WidgetType.Button; title = "Singleplayer"; widgets[0] = play; widgets[1] = newWorld; widgets[2] = modify; widgets[3] = back; widgets[4] = open; worldButtons = new MenuWidget[10]; for (int i = 0; i < 10; i++) { worldButtons[i] = new MenuWidget(); worldButtons[i].visible = false; widgets[5 + i] = worldButtons[i]; } }
public ScreenConnectToIp() { buttonConnect = new MenuWidget(); buttonConnect.text = "Connect"; buttonConnect.type = WidgetType.Button; buttonConnect.nextWidget = 3; textboxIp = new MenuWidget(); textboxIp.type = WidgetType.Textbox; textboxIp.text = ""; textboxIp.description = "Ip"; textboxIp.nextWidget = 2; textboxPort = new MenuWidget(); textboxPort.type = WidgetType.Textbox; textboxPort.text = ""; textboxPort.description = "Port"; textboxPort.nextWidget = 0; back = new MenuWidget(); back.text = "Back"; back.type = WidgetType.Button; back.nextWidget = 1; title = "Connect to IP"; widgets[0] = buttonConnect; widgets[1] = textboxIp; widgets[2] = textboxPort; widgets[3] = back; textboxIp.GetFocus(); }
public ScreenModifyWorld() { back = new MenuWidget(); back.text = "Back"; back.type = WidgetType.Button; widgets[0] = back; }
void KeyPress(KeyPressEventArgs e) { for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { if (w.hasKeyboardFocus) { if (e.GetKeyChar() == 9 || e.GetKeyChar() == 13) // tab, enter { if (w.type == WidgetType.Button && e.GetKeyChar() == 13) { //Call OnButton when enter is pressed and widget is a button OnButton(w); return; } else if (w.nextWidget != -1) { //Just switch focus otherwise w.LoseFocus(); widgets[w.nextWidget].GetFocus(); return; } } } if (w.type == WidgetType.Textbox) { if (w.editing) { string s = menu.CharToString(e.GetKeyChar()); if (e.GetKeyChar() == 8) // backspace { if (menu.StringLength(w.text) > 0) { w.text = StringTools.StringSubstring(menu.p, w.text, 0, menu.StringLength(w.text) - 1); } return; } if (e.GetKeyChar() == 22) //paste { if (menu.p.ClipboardContainsText()) { w.text = StringTools.StringAppend(menu.p, w.text, menu.p.ClipboardGetText()); } return; } if (menu.p.IsValidTypingChar(e.GetKeyChar())) { w.text = StringTools.StringAppend(menu.p, w.text, s); } } } } } }
public ScreenMain() { singleplayer = new MenuWidget(); multiplayer = new MenuWidget(); exit = new MenuWidget(); widgets[0] = singleplayer; widgets[1] = multiplayer; widgets[2] = exit; queryStringChecked = false; }
void KeyDown(KeyEventArgs e) { for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w == null) { continue; } if (w.hasKeyboardFocus) { if (e.GetKeyCode() == GlKeys.Tab || e.GetKeyCode() == GlKeys.Enter) { if (w.type == WidgetType.Button && e.GetKeyCode() == GlKeys.Enter) { //Call OnButton when enter is pressed and widget is a button OnButton(w); return; } if (w.nextWidget != -1) { //Just switch focus otherwise w.LoseFocus(); widgets[w.nextWidget].GetFocus(); return; } } } if (w.type == WidgetType.Textbox) { if (w.editing) { int key = e.GetKeyCode(); // pasting text from clipboard if (e.GetCtrlPressed() && key == GlKeys.V) { if (menu.p.ClipboardContainsText()) { w.text = StringTools.StringAppend(menu.p, w.text, menu.p.ClipboardGetText()); } return; } // deleting characters using backspace if (key == GlKeys.BackSpace) { if (menu.StringLength(w.text) > 0) { w.text = StringTools.StringSubstring(menu.p, w.text, 0, menu.StringLength(w.text) - 1); } return; } } } } }
void MouseMove(MouseEventArgs e) { for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { w.hover = pointInRect(e.GetX(), e.GetY(), w.x, w.y, w.sizex, w.sizey); } } }
public MainScreen(GraphicsDeviceManager graphicsDeviceManager, ContentManager content) : base(graphicsDeviceManager) { background = content.Load <Texture2D>("Textures/fish"); widgetBackground = content.Load <Texture2D>("Textures/water"); menuFont = content.Load <SpriteFont>("Fonts/SpriteFont1"); mWidget = new MenuWidget(widgetBackground, (graphicsDeviceManager.GraphicsDevice.Viewport.Width / 2) - (graphicsDeviceManager.GraphicsDevice.Viewport.Width / 3), 0, "Main Fish", menuFont); mWidget.AddMenuItem(new MenuItem("Play", removeWidget, menuFont)); widgets.Add(mWidget); }
void AllLoseFocus() { for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { w.LoseFocus(); } } }
public void AddMenu(string menuName, MenuWidget menuWidget) { if (Menus.ContainsKey(menuName)) { Debug.LogError("Menu key already exists."); return; } if (menuWidget != null) { Menus.Add(menuName, menuWidget); } }
public ScreenMain() { singleplayer = new MenuWidget(); multiplayer = new MenuWidget(); exit = new MenuWidget(); widgets[0] = singleplayer; widgets[1] = multiplayer; widgets[2] = exit; queryStringChecked = false; cursorLoaded = false; fontDefault = new FontCi(); fontDefault.size = 20; }
public override void OnButton(MenuWidget w) { for (int i = 0; i < 10; i++) { worldButtons[i].selected = false; } for (int i = 0; i < 10; i++) { if (worldButtons[i] == w) { worldButtons[i].selected = true; } } if (w == newWorld) { menu.StartNewWorld(); } if (w == play) { } if (w == modify) { menu.StartModifyWorld(); } if (w == back) { OnBackPressed(); } if (w == open) { string extension; if (menu.p.SinglePlayerServerAvailable()) { extension = "mddbs"; } else { extension = "mdss"; } string result = menu.p.FileOpenDialog(extension, "Manic Digger Savegame", menu.p.PathSavegames()); if (result != null) { menu.ConnectToSingleplayer(result); } } }
public override void OnButton(MenuWidget w) { for (int i = 0; i < serverButtonsCount; i++) { serverButtons[i].selected = false; if (serverButtons[i] == w) { serverButtons[i].selected = true; if (serversOnList[i + serversPerPage * page] != null) { selectedServerHash = serversOnList[i + serversPerPage * page].hash; } } } if (w == pageUp) { PageUp_(); } if (w == pageDown) { PageDown_(); } if (w == back) { OnBackPressed(); } if (w == connect) { if (selectedServerHash != null) { menu.StartLogin(selectedServerHash, null, 0); } } if (w == connectToIp) { menu.StartConnectToIp(); } if (w == refresh) { loaded = false; loading = true; } if (w == logout) { Preferences pref = menu.p.GetPreferences(); pref.Remove("Username"); pref.Remove("Password"); menu.p.SetPreferences(pref); loggedInName.text = ""; } }
public void EnableMenu(string menuName) { if (Menus.ContainsKey(menuName)) { DisableActiveMenu(); ActiveMenu = Menus[menuName]; ActiveMenu.gameObject.SetActive(true); } else { Debug.LogError("Menu not available in dictionary."); } }
public override void OnButton(MenuWidget w) { if (w == login) { loginResultData = new LoginData(); if (serverHash != null) { // Connect to server hash, through main game menu. Do login. menu.Login(loginUsername.text, loginPassword.text, serverHash, "", loginResult, loginResultData); } else { // Connect to IP. Don't login // Save username if (loginRememberMe.text == menu.lang.Get("MainMenu_ChoiceYes")) { Preferences preferences = menu.p.GetPreferences(); preferences.SetString("Username", loginUsername.text); menu.p.SetPreferences(preferences); } ConnectData connectdata = new ConnectData(); connectdata.Ip = serverIp; connectdata.Port = serverPort; connectdata.Username = loginUsername.text; menu.StartGame(false, null, connectdata); } } if (w == createAccount) { menu.CreateAccount(createAccountUsername.text, createAccountPassword.text, loginResult); } if (w == loginRememberMe || w == createAccountRememberMe) { if (w.text == menu.lang.Get("MainMenu_ChoiceYes")) { w.text = menu.lang.Get("MainMenu_ChoiceNo"); } else { w.text = menu.lang.Get("MainMenu_ChoiceYes"); } } if (w == back) { OnBackPressed(); } }
public void AddMenu(string menuName, MenuWidget menuWidget) { if (Menus.ContainsKey(menuName)) { Debug.LogError("Tried to add existing menu widget into dictionary"); return; } if (menuWidget == null) { return; } Menus.Add(menuName, menuWidget); }
void MouseMove(MouseEventArgs e) { if (e.GetEmulated() && !e.GetForceUsage()) { return; } for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { w.hover = pointInRect(e.GetX(), e.GetY(), w.x, w.y, w.sizex, w.sizey); } } }
public override void OnButton(MenuWidget w) { if (w == singleplayer) { menu.StartSingleplayer(); } if (w == multiplayer) { menu.StartMultiplayer(); } if (w == exit) { menu.Exit(); } }
public override void OnButton(MenuWidget w) { if (w == buttonConnect) { FloatRef ret = new FloatRef(); if (!Game.StringEquals(textboxIp.text, "") && menu.p.FloatTryParse(textboxPort.text, ret)) { menu.StartLogin(null, textboxIp.text, menu.p.IntParse(textboxPort.text)); } } if (w == back) { OnBackPressed(); } }
public override void OnButton(MenuWidget w) { if (w.isbutton) { string[] textValues = new string[WidgetCount]; for (int i = 0; i < WidgetCount; i++) { string s = widgets[i].text; if (s == null) { s = ""; } textValues[i] = s; } game.SendPacketClient(ClientPackets.DialogClick(w.id, textValues, WidgetCount)); } }
void DrawServerWidgets() { for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { if (!w.visible) { continue; } string text = w.text; if (w.selected) { text = StringTools.StringAppend(menu.p, "&2", text); } if (w.type == WidgetType.Button) { if (w.buttonStyle == ButtonStyle.ServerEntry) { string[] strings = menu.p.StringSplit(w.text, "\n", new IntRef()); if (w.selected) { //Highlight text if selected strings[0] = StringTools.StringAppend(menu.p, "&2", strings[0]); strings[1] = StringTools.StringAppend(menu.p, "&2", strings[1]); strings[2] = StringTools.StringAppend(menu.p, "&2", strings[2]); strings[3] = StringTools.StringAppend(menu.p, "&2", strings[3]); } DrawServerButton(strings[0], strings[1], strings[2], strings[3], w.x, w.y, w.sizex, w.sizey, w.image); if (w.description != null) { //Display a warning sign, when server does not respond to queries menu.Draw2dQuad(menu.GetTexture("serverlist_entry_noresponse.png"), w.x - 38 * menu.GetScale(), w.y, w.sizey / 2, w.sizey / 2); } if (strings[4] != menu.p.GetGameVersion()) { //Display an icon if server version differs from client version menu.Draw2dQuad(menu.GetTexture("serverlist_entry_differentversion.png"), w.x - 38 * menu.GetScale(), w.y + w.sizey / 2, w.sizey / 2, w.sizey / 2); } } } } } }
public void DisableMenu(string menuName) { if (string.IsNullOrEmpty(menuName)) { return; } if (Menus.ContainsKey(menuName)) { DisableActiveMenu(); ActiveMenu = Menus[menuName]; Menus[menuName].DisableWidget(); } else { Debug.LogError("Menu Is Not Available"); } }
public ModGuiTouchButtons() { touchButtonsEnabled = false; buttonMenu = new MenuWidget(); buttonMenu.image = "TouchMenu.png"; buttonInventory = new MenuWidget(); buttonInventory.image = "TouchInventory.png"; buttonTalk = new MenuWidget(); buttonTalk.image = "TouchTalk.png"; buttonCamera = new MenuWidget(); buttonCamera.image = "TouchCamera.png"; widgets[0] = buttonMenu; widgets[1] = buttonInventory; widgets[2] = buttonTalk; widgets[3] = buttonCamera; touchIdMove = -1; touchIdRotate = -1; }
public void AddMenu(string menuName, MenuWidget menuWidget) { if (string.IsNullOrEmpty(menuName)) { return; } if (Menus.ContainsKey(menuName)) { Debug.LogError("Menu already exist in Dictionary"); return; } if (menuWidget == null) { return; } Menus.Add(menuName, menuWidget); }
public void EnableMenu(string menuName) { if (string.IsNullOrEmpty(menuName)) { return; } if (Menus.ContainsKey(menuName)) { DisableActiveMenu(); ActiveWidget = Menus[menuName]; ActiveWidget.EnableWidget(); } else { Debug.LogError("Menu is not available in Dictionary!"); } }
void KeyPress(KeyPressEventArgs e) { for (int i = 0; i < WidgetCount; i++) { MenuWidget w = widgets[i]; if (w != null) { if (w.type == WidgetType.Textbox) { if (w.editing) { if (menu.p.IsValidTypingChar(e.GetKeyChar())) { w.text = StringTools.StringAppend(menu.p, w.text, menu.CharToString(e.GetKeyChar())); } } } } } }
GameScreen ConvertDialog(Game game, Packet_Dialog p) { DialogScreen s = new DialogScreen(); s.widgets = new MenuWidget[p.WidgetsCount]; s.WidgetCount = p.WidgetsCount; for (int i = 0; i < p.WidgetsCount; i++) { Packet_Widget a = p.Widgets[i]; MenuWidget b = new MenuWidget(); if (a.Type == Packet_WidgetTypeEnum.Text) { b.type = WidgetType.Label; } if (a.Type == Packet_WidgetTypeEnum.Image) { b.type = WidgetType.Button; } if (a.Type == Packet_WidgetTypeEnum.TextBox) { b.type = WidgetType.Textbox; } b.x = a.X; b.y = a.Y; b.sizex = a.Width; b.sizey = a.Height_; b.text = a.Text; if (b.text != null) { b.text = game.platform.StringReplace(b.text, "!SERVER_IP!", game.ServerInfo.connectdata.Ip); } if (b.text != null) { b.text = game.platform.StringReplace(b.text, "!SERVER_PORT!", game.platform.IntToString(game.ServerInfo.connectdata.Port)); } b.color = a.Color; if (a.Font != null) { b.font = new FontCi(); b.font.family = game.ValidFont(a.Font.FamilyName); b.font.size = game.DeserializeFloat(a.Font.SizeFloat); b.font.style = a.Font.FontStyle; } b.id = a.Id; b.isbutton = a.ClickKey != 0; if (a.Image == "Solid") { b.image = null; } else if (a.Image != null) { b.image = StringTools.StringAppend(game.platform, a.Image, ".png"); } s.widgets[i] = b; } for (int i = 0; i < s.WidgetCount; i++) { if (s.widgets[i] == null) { continue; } if (s.widgets[i].type == WidgetType.Textbox) { s.widgets[i].editing = true; break; } } return s; }
public ScreenMultiplayer() { WidgetCount = 64 + serverButtonsCount; widgets = new MenuWidget[WidgetCount]; back = new MenuWidget(); back.text = "Back"; back.type = WidgetType.Button; back.nextWidget = 1; connect = new MenuWidget(); connect.text = "Connect"; connect.type = WidgetType.Button; connect.nextWidget = 3; connectToIp = new MenuWidget(); connectToIp.text = "Connect to IP"; connectToIp.type = WidgetType.Button; connectToIp.nextWidget = 2; refresh = new MenuWidget(); refresh.text = "Refresh"; refresh.type = WidgetType.Button; refresh.nextWidget = 0; page = 0; pageUp = new MenuWidget(); pageUp.text = ""; pageUp.type = WidgetType.Button; pageUp.buttonStyle = ButtonStyle.Text; pageUp.visible = false; pageDown = new MenuWidget(); pageDown.text = ""; pageDown.type = WidgetType.Button; pageDown.buttonStyle = ButtonStyle.Text; pageDown.visible = false; loggedInName = new MenuWidget(); loggedInName.text = ""; loggedInName.type = WidgetType.Button; loggedInName.buttonStyle = ButtonStyle.Text; logout = new MenuWidget(); logout.text = ""; logout.type = WidgetType.Button; //logout.image = "serverlist_entry_background.png"; logout.buttonStyle = ButtonStyle.Button; title = "Multiplayer"; widgets[0] = back; widgets[1] = connect; widgets[2] = refresh; widgets[3] = connectToIp; widgets[4] = pageUp; widgets[5] = pageDown; widgets[6] = loggedInName; widgets[7] = logout; serverListAddress = new HttpResponseCi(); serverListCsv = new HttpResponseCi(); serversOnList = new ServerOnList[serversOnListCount]; thumbResponses = new ThumbnailResponseCi[serversOnListCount]; serverButtons = new MenuWidget[serverButtonsCount]; for (int i = 0; i < serverButtonsCount; i++) { MenuWidget b = new MenuWidget(); b = new MenuWidget(); b.text = "Invalid"; b.type = WidgetType.Button; b.visible = false; b.image = "serverlist_entry_noimage.png"; serverButtons[i] = b; widgets[8 + i] = b; } loading = true; }
public virtual void OnButton(MenuWidget w) { }
public GameScreen() { WidgetCount = 64; widgets = new MenuWidget[WidgetCount]; }