mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 09:12:35 +00:00
Made Join Server button have a different colored background for non-release servers, added small download icon next to a game's icon when it is not installed, updated Update Now string to Install Update, selected app and channel are now saved to the settings- possibly removing an unnecessary click
This commit is contained in:
@@ -3,7 +3,8 @@ class W3DHub
|
|||||||
class Games < Page
|
class Games < Page
|
||||||
def setup
|
def setup
|
||||||
@game_news ||= {}
|
@game_news ||= {}
|
||||||
@focused_game ||= Store.applications.games.first
|
@focused_game ||= Store.applications.games.find { |g| g.id == Store.settings[:last_selected_app] }
|
||||||
|
@focused_channel ||= @focused_game.channels.find { |c| c.id == Store.settings[:last_selected_channel] }
|
||||||
|
|
||||||
body.clear do
|
body.clear do
|
||||||
# Games List
|
# Games List
|
||||||
@@ -15,7 +16,7 @@ class W3DHub
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
populate_game_page(@focused_game, @focused_game.channels.first)
|
populate_game_page(@focused_game, @focused_channel)
|
||||||
populate_games_list
|
populate_games_list
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -35,8 +36,9 @@ class W3DHub
|
|||||||
flow(width: 1.0, height: 48) do
|
flow(width: 1.0, height: 48) do
|
||||||
stack(width: 0.3) do
|
stack(width: 0.3) do
|
||||||
image "#{GAME_ROOT_PATH}/media/ui_icons/return.png", width: 1.0, color: Gosu::Color::GRAY if Store.application_manager.updateable?(game.id, game.channels.first.id)
|
image "#{GAME_ROOT_PATH}/media/ui_icons/return.png", width: 1.0, color: Gosu::Color::GRAY if Store.application_manager.updateable?(game.id, game.channels.first.id)
|
||||||
|
image "#{GAME_ROOT_PATH}/media/ui_icons/import.png", width: 0.5, color: 0x88_ffffff unless Store.application_manager.installed?(game.id, game.channels.first.id)
|
||||||
end
|
end
|
||||||
image "#{GAME_ROOT_PATH}/media/icons/#{game.id}.png", height: 48, color: Store.application_manager.installed?(game.id, game.channels.first.id) ? 0xff_ffffff : 0xee_444444
|
image "#{GAME_ROOT_PATH}/media/icons/#{game.id}.png", height: 48, color: Store.application_manager.installed?(game.id, game.channels.first.id) ? 0xff_ffffff : 0x88_ffffff
|
||||||
end
|
end
|
||||||
inscription game.name, width: 1.0, text_align: :center
|
inscription game.name, width: 1.0, text_align: :center
|
||||||
end
|
end
|
||||||
@@ -55,6 +57,10 @@ class W3DHub
|
|||||||
|
|
||||||
def populate_game_page(game, channel)
|
def populate_game_page(game, channel)
|
||||||
@focused_game = game
|
@focused_game = game
|
||||||
|
@focused_channel = channel
|
||||||
|
|
||||||
|
Store.settings[:last_selected_app] = game.id
|
||||||
|
Store.settings[:last_selected_channel] = channel.id
|
||||||
|
|
||||||
@game_page_container.clear do
|
@game_page_container.clear do
|
||||||
background game.color
|
background game.color
|
||||||
@@ -123,7 +129,7 @@ class W3DHub
|
|||||||
|
|
||||||
if Store.application_manager.installed?(game.id, channel.id)
|
if Store.application_manager.installed?(game.id, channel.id)
|
||||||
if Store.application_manager.updateable?(game.id, channel.id)
|
if Store.application_manager.updateable?(game.id, channel.id)
|
||||||
button "<b>#{I18n.t(:"interface.update_now")}</b>", margin_left: 24, background: 0xff_ffac00 do
|
button "<b>#{I18n.t(:"interface.install_update")}</b>", margin_left: 24, **UPDATE_BUTTON do
|
||||||
Store.application_manager.update(game.id, channel.id)
|
Store.application_manager.update(game.id, channel.id)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ class W3DHub
|
|||||||
Store.server_list.each do |server|
|
Store.server_list.each do |server|
|
||||||
next unless @filters[server.game.to_sym]
|
next unless @filters[server.game.to_sym]
|
||||||
next unless server.region == @filter_region || @filter_region == "Any"
|
next unless server.region == @filter_region || @filter_region == "Any"
|
||||||
|
next unless server.channel == "release"
|
||||||
|
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
@@ -203,10 +204,11 @@ class W3DHub
|
|||||||
end
|
end
|
||||||
|
|
||||||
stack(width: 1.0, height: 0.25) do
|
stack(width: 1.0, height: 0.25) do
|
||||||
game_installed = Store.application_manager.installed?(server.game, Store.applications.games.find { |g| g.id == server.game }&.channels&.find { |c| c.id == server.channel }&.id)
|
game_installed = Store.application_manager.installed?(server.game, server.channel)
|
||||||
game_updatable = Store.application_manager.updateable?(server.game, Store.applications.games.find { |g| g.id == server.game }&.channels&.find { |c| c.id == server.channel }&.id)
|
game_updatable = Store.application_manager.updateable?(server.game, server.channel)
|
||||||
|
style = server.channel != "release" ? TESTING_BUTTON : {}
|
||||||
|
|
||||||
button "<b>#{I18n.t(:"server_browser.join_server")}</b>", enabled: (game_installed && !game_updatable) do
|
button "<b>#{I18n.t(:"server_browser.join_server")}</b>", enabled: (game_installed && !game_updatable), **style do
|
||||||
# Check for nickname
|
# Check for nickname
|
||||||
# prompt for nickname
|
# prompt for nickname
|
||||||
# !abort unless nickname set
|
# !abort unless nickname set
|
||||||
@@ -427,7 +429,7 @@ class W3DHub
|
|||||||
|
|
||||||
Store.application_manager.join_server(
|
Store.application_manager.join_server(
|
||||||
server.game,
|
server.game,
|
||||||
Store.applications.games.find { |g| g.id == server.game }.channels.first.id, server, password
|
server.channel, server, password
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
window.push_state(W3DHub::States::MessageDialog, type: "?", title: "?", message: "?")
|
window.push_state(W3DHub::States::MessageDialog, type: "?", title: "?", message: "?")
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ class W3DHub
|
|||||||
server_list_region: "Any",
|
server_list_region: "Any",
|
||||||
account: {},
|
account: {},
|
||||||
applications: {},
|
applications: {},
|
||||||
games: {}
|
games: {},
|
||||||
|
last_selected_app: "ren",
|
||||||
|
last_selected_channel: "release"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
12
lib/theme.rb
12
lib/theme.rb
@@ -2,6 +2,18 @@ class W3DHub
|
|||||||
REGULAR_FONT = "#{GAME_ROOT_PATH}/media/fonts/NotoSans-Regular.ttf"
|
REGULAR_FONT = "#{GAME_ROOT_PATH}/media/fonts/NotoSans-Regular.ttf"
|
||||||
BOLD_FONT = "#{GAME_ROOT_PATH}/media/fonts/NotoSans-Bold.ttf"
|
BOLD_FONT = "#{GAME_ROOT_PATH}/media/fonts/NotoSans-Bold.ttf"
|
||||||
|
|
||||||
|
TESTING_BUTTON = {
|
||||||
|
background: 0xff_ff8800,
|
||||||
|
hover: {
|
||||||
|
background: 0xff_ffaa00
|
||||||
|
},
|
||||||
|
active: {
|
||||||
|
background: 0xff_ffec00
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UPDATE_BUTTON = TESTING_BUTTON
|
||||||
|
|
||||||
THEME = {
|
THEME = {
|
||||||
ToolTip: {
|
ToolTip: {
|
||||||
background: 0xff_dedede,
|
background: 0xff_dedede,
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ en:
|
|||||||
community: Community
|
community: Community
|
||||||
download_manager: Download Manager
|
download_manager: Download Manager
|
||||||
play_now: Play Now
|
play_now: Play Now
|
||||||
update_now: Update Now
|
install_update: Install Update
|
||||||
single_player: Single Player
|
single_player: Single Player
|
||||||
import: Import
|
import: Import
|
||||||
install: Install
|
install: Install
|
||||||
|
|||||||
Reference in New Issue
Block a user