Skip to content

Commit

Permalink
select something by default
Browse files Browse the repository at this point in the history
  • Loading branch information
Bauumm committed Aug 27, 2023
1 parent d1c7364 commit db49440
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 7 deletions.
2 changes: 1 addition & 1 deletion compat/game21/assets/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ function assets.get_pack(name)
-- styles
if pack_data.pack_json.preload_promise and not pack_data.pack_json.preload_promise.executed then
-- wait for styles if pending threaded loading not done yet
while not pack_data.preload_promise.executed do
while not pack_data.pack_json.preload_promise.executed do
threadify.update()
love.timer.sleep(0.01)
end
Expand Down
1 change: 1 addition & 0 deletions compat/game21/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,7 @@ function public.draw_preview(canvas, pack, level)
game.level_status.sides = sides
pulse.init(game)
beat_pulse.init(game)
game.message_text = ""
public.draw(canvas, 0, true)
end

Expand Down
12 changes: 12 additions & 0 deletions ui/elements/element.lua
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,18 @@ function element:check_screen()
return self:get_root() == keyboard_navigation.get_screen()
end

function element:click(select)
if select == nil then
select = true
end
if not self.selected and select then
keyboard_navigation.select_element(self)
end
if self.click_handler then
self.click_handler(self)
end
end

function element:process_event(name, ...)
if name == "mousemoved" or name == "mousepressed" or name == "mousereleased" then
local x, y = ...
Expand Down
16 changes: 10 additions & 6 deletions ui/screens/levelselect.lua
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,9 @@ local function make_pack_elements()
)
cache_folder_flex[pack.id] = update_element(levels, root, 2, last_levels)
end
if root.elements[2] ~= levels then
levels.elements[1]:click(false)
end
root.elements[2] = levels
end
})
Expand All @@ -203,19 +206,16 @@ local function make_pack_elements()
return elements
end

local pack_elems = make_pack_elements()
root = flex:new({
--packs
flex:new({
dropdown:new({ "All Packs", "Favorites" }, { limit_to_inital_width = true, style = { border_thickness = 5 } }),
flex:new(make_pack_elements(), { direction = "column", align_items = "stretch", scrollable = true }),
flex:new(pack_elems, { direction = "column", align_items = "stretch", scrollable = true }),
}, { direction = "column", align_items = "stretch" }),

--levels
flex:new({
flex:new({
label:new("No level folder or pack selected.", { wrap = true })
}, { align_items = "center" }),
}, { direction = "column", align_items = "center" }),
flex:new({}, { direction = "column", align_items = "center" }),

--leaderboards
flex:new({
Expand All @@ -225,4 +225,8 @@ root = flex:new({
--todo: "score" element similar to those other two, holds the score data like time, player, place, etc.
}, { size_ratios = { 1, 2, 1 }, scrollable = false })

if #pack_elems > 0 then
pack_elems[1]:click(false)
end

return root

0 comments on commit db49440

Please sign in to comment.