don't reset position of selection when selecting cards
This makes it easier to select the next card.dev
parent
807712af79
commit
52a247bceb
|
@ -12,6 +12,7 @@ const Response = union(enum) {
|
|||
transition: struct {
|
||||
game_state: GameState,
|
||||
can_undo: bool,
|
||||
reset_selection: bool = false,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -296,7 +297,6 @@ pub fn main() !void {
|
|||
if (input_state.action) {
|
||||
request_command = try gpa.allocator().dupe(u8, hovered.command);
|
||||
root_element = null;
|
||||
hovered_action = null;
|
||||
}
|
||||
} else if (actions.items.len > 0) {
|
||||
hovered_action = actions.items[0];
|
||||
|
@ -358,6 +358,9 @@ pub fn main() !void {
|
|||
switch (response) {
|
||||
.page => |page_root_element| root_element = page_root_element,
|
||||
.transition => |transition| {
|
||||
if (transition.reset_selection) {
|
||||
hovered_action = null;
|
||||
}
|
||||
if (!transition.can_undo) {
|
||||
for (history.items) |*state| {
|
||||
state.deinit();
|
||||
|
@ -1075,6 +1078,7 @@ fn playerTurnHandler(arena: std.mem.Allocator, request: Request) HandlerError!Re
|
|||
return Response{ .transition = .{
|
||||
.game_state = new_game_state,
|
||||
.can_undo = true,
|
||||
.reset_selection = false,
|
||||
} };
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue