mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2026-03-22 04:06:18 +00:00
Use server version
This commit is contained in:
@@ -2,8 +2,9 @@ class W3DHub
|
|||||||
class Api
|
class Api
|
||||||
class ServerListServer
|
class ServerListServer
|
||||||
NO_OR_BAD_PING = 1_000_000
|
NO_OR_BAD_PING = 1_000_000
|
||||||
|
NO_OR_DEFAULT_VERSION = "838"
|
||||||
|
|
||||||
attr_reader :id, :game, :address, :port, :region, :channel, :ping, :status
|
attr_reader :id, :game, :address, :port, :region, :channel, :version, :ping, :status
|
||||||
|
|
||||||
def initialize(hash)
|
def initialize(hash)
|
||||||
@data = hash
|
@data = hash
|
||||||
@@ -14,6 +15,7 @@ class W3DHub
|
|||||||
@port = @data[:port]
|
@port = @data[:port]
|
||||||
@region = @data[:region]
|
@region = @data[:region]
|
||||||
@channel = @data[:channel] || "release"
|
@channel = @data[:channel] || "release"
|
||||||
|
@version = @data[:version] || NO_OR_DEFAULT_VERSION
|
||||||
@ping = NO_OR_BAD_PING
|
@ping = NO_OR_BAD_PING
|
||||||
|
|
||||||
@status = Status.new(@data[:status])
|
@status = Status.new(@data[:status])
|
||||||
|
|||||||
@@ -389,11 +389,12 @@ class W3DHub
|
|||||||
flow(width: 1.0, height: 46, margin_top: 16, margin_bottom: 16) do
|
flow(width: 1.0, height: 46, margin_top: 16, margin_bottom: 16) do
|
||||||
game_installed = Store.application_manager.installed?(server.game, server.channel)
|
game_installed = Store.application_manager.installed?(server.game, server.channel)
|
||||||
game_updatable = Store.application_manager.updateable?(server.game, server.channel)
|
game_updatable = Store.application_manager.updateable?(server.game, server.channel)
|
||||||
|
matching_version = game_installed[:installed_version] == server.version || server.version == Api::ServerListServer::NO_OR_DEFAULT_VERSION
|
||||||
channel = Store.application_manager.channel(server.game, server.channel)
|
channel = Store.application_manager.channel(server.game, server.channel)
|
||||||
style = ((channel && channel.user_level.downcase.strip == "public") || server.channel == "release") ? {} : TESTING_BUTTON
|
style = ((channel && channel.user_level.downcase.strip == "public") || server.channel == "release") ? {} : TESTING_BUTTON
|
||||||
|
|
||||||
flow(fill: true)
|
flow(fill: true)
|
||||||
button "<b>#{I18n.t(:"server_browser.join_server")}</b>", enabled: (game_installed && !game_updatable), **style do
|
button "<b>#{I18n.t(:"server_browser.join_server")}</b>", enabled: (game_installed && !game_updatable && matching_version), **style do
|
||||||
# Check for nickname
|
# Check for nickname
|
||||||
# prompt for nickname
|
# prompt for nickname
|
||||||
# !abort unless nickname set
|
# !abort unless nickname set
|
||||||
|
|||||||
Reference in New Issue
Block a user