Fix hotbar switch + mouse scroll not working, when hotbar switch has been rebinded.

This commit is contained in:
UnknownShadow200 2018-03-31 07:14:42 +11:00
parent 31b0cde8aa
commit cde8d2cfd1
4 changed files with 10 additions and 4 deletions

View File

@ -142,7 +142,7 @@ namespace ClassicalSharp.Gui.Widgets {
float deltaAcc;
public override bool HandlesMouseScroll(float delta) {
if (game.Input.AltDown) {
if (game.Input.IsKeyDown(KeyBind.HotbarSwitching)) {
int index = game.Inventory.Offset / Inventory.BlocksPerRow;
game.Inventory.Offset = ScrolledIndex(delta, index, 1) * Inventory.BlocksPerRow;
altHandled = true;

View File

@ -172,6 +172,10 @@ void ButtonWidget_Render(GuiElement* elem, Real64 delta) {
Texture_RenderShaded(&widget->Texture, col);
}
bool ButtonWidget_HandlesMouseDown(GuiElement* elem, Int32 x, Int32 y, MouseButton btn) {
return ((ButtonWidget*)elem)->OnClick(x, y, btn);
}
GuiElementVTABLE ButtonWidget_VTABLE;
void ButtonWidget_Create(ButtonWidget* widget, STRING_PURE String* text, Int32 minWidth, FontDesc* font, Gui_MouseHandler onClick) {
widget->VTABLE = &ButtonWidget_VTABLE;
@ -185,7 +189,8 @@ void ButtonWidget_Create(ButtonWidget* widget, STRING_PURE String* text, Int32 m
Elem_Init(widget);
widget->MinWidth = minWidth; widget->MinHeight = 40;
ButtonWidget_SetText(widget, text);
widget->VTABLE->HandlesMouseDown = onClick;
widget->OnClick = onClick;
widget->VTABLE->HandlesMouseDown = ButtonWidget_HandlesMouseDown;
}
void ButtonWidget_SetText(ButtonWidget* widget, STRING_PURE String* text) {

View File

@ -38,9 +38,10 @@ typedef struct ButtonWidget_ {
FontDesc Font;
String OptName;
Gui_MouseHandler OnClick;
ButtonWidget_GetValue GetValue;
ButtonWidget_SetValue SetValue;
Int32 MinWidth, MinHeight, Metadata;
Int32 MinWidth, MinHeight;
} ButtonWidget;
void ButtonWidget_Create(ButtonWidget* widget, STRING_PURE String* text, Int32 minWidth, FontDesc* font, Gui_MouseHandler onClick);