mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-16 19:15:14 -04:00
fix buttons not being immediately selected when changing menus in game/launcher (thanks tornato)
This commit is contained in:
parent
ad4c4b7c6d
commit
a7e8429b86
@ -5,6 +5,7 @@ using ClassicalSharp.GraphicsAPI;
|
||||
using ClassicalSharp.Gui;
|
||||
using ClassicalSharp.Gui.Screens;
|
||||
using ClassicalSharp.Renderers;
|
||||
using OpenTK.Input;
|
||||
|
||||
namespace ClassicalSharp {
|
||||
|
||||
@ -83,7 +84,11 @@ namespace ClassicalSharp {
|
||||
if (activeScreen != null && disposeOld)
|
||||
activeScreen.Dispose();
|
||||
|
||||
if (screen != null) screen.Init();
|
||||
if (screen != null) {
|
||||
screen.Init();
|
||||
// for selecting active button etc
|
||||
screen.HandlesMouseMove(Mouse.X, Mouse.Y);
|
||||
}
|
||||
activeScreen = screen;
|
||||
CalcCursorVisible();
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ namespace Launcher.Gui.Screens {
|
||||
MouseButtonDown(x, y, btn);
|
||||
}
|
||||
|
||||
void MouseMove(int deltaX, int deltaY) {
|
||||
internal void MouseMove(int deltaX, int deltaY) {
|
||||
int x = Mouse.X, y = Mouse.Y;
|
||||
MouseMove(x, y, deltaX, deltaY);
|
||||
}
|
||||
|
@ -125,6 +125,8 @@ namespace Launcher {
|
||||
RedrawBackground();
|
||||
Screen = screen;
|
||||
screen.Init();
|
||||
// for selecting active button etc
|
||||
Screen.MouseMove(0, 0);
|
||||
}
|
||||
|
||||
public bool ConnectToServer(List<ServerListEntry> publicServers, string hash) {
|
||||
|
@ -142,7 +142,11 @@ void Gui_CloseActive(void) {
|
||||
|
||||
void Gui_SetActive(struct Screen* screen) {
|
||||
InputHandler_ScreenChanged(Gui_Active, screen);
|
||||
if (screen) { Elem_Init(screen); }
|
||||
if (screen) {
|
||||
Elem_Init(screen);
|
||||
/* for selecting active button etc */
|
||||
Elem_HandlesMouseMove(screen, Mouse_X, Mouse_Y);
|
||||
}
|
||||
|
||||
Gui_Active = screen;
|
||||
Gui_CalcCursorVisible();
|
||||
|
Loading…
x
Reference in New Issue
Block a user