mirror of
https://github.com/cyberarm/i-mic-rts.git
synced 2025-12-13 06:52:33 +00:00
replaced use of label with banner for menu titles, updated solo lobby to show preview on load
This commit is contained in:
@@ -11,13 +11,13 @@ class IMICRTS
|
||||
@status = @messages[@messages_index]
|
||||
|
||||
@last_update = Gosu.milliseconds
|
||||
@update_interval = 250
|
||||
@update_interval = 200
|
||||
|
||||
@switcher = CyberarmEngine::Timer.new(5_000) do
|
||||
@switcher = CyberarmEngine::Timer.new(3_000) do
|
||||
push_state(MainMenu)
|
||||
end
|
||||
|
||||
@loader = CyberarmEngine::Timer.new(250) do
|
||||
@loader = CyberarmEngine::Timer.new(@update_interval) do
|
||||
split = @status.scan(".")
|
||||
if split.size >= 3
|
||||
@messages_index+=1
|
||||
|
||||
@@ -37,7 +37,7 @@ class IMICRTS
|
||||
@sidebar = stack(width: IMICRTS::MENU_WIDTH, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0x55555555, 0x55666666]
|
||||
|
||||
label "SIDEBAR", text_size: 78, margin_bottom: 20
|
||||
banner "SIDEBAR", margin_bottom: 20
|
||||
|
||||
flow(width: 1.0, height: 1.0) do
|
||||
@sidebar_actions = stack(width: 0.9) do
|
||||
|
||||
@@ -7,7 +7,7 @@ class IMICRTS
|
||||
stack(width: IMICRTS::MENU_WIDTH, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0xff555555, Gosu::Color::GRAY]
|
||||
|
||||
label "Credits", text_size: 78, margin: 20
|
||||
banner "Credits", margin: 20
|
||||
|
||||
licenses = Gosu::LICENSES.lines
|
||||
preamble = licenses.shift
|
||||
|
||||
@@ -7,7 +7,7 @@ class IMICRTS
|
||||
|
||||
stack(width: IMICRTS::MENU_WIDTH, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0xff555555, Gosu::Color::GRAY]
|
||||
label "Load", text_size: 78, margin: 20
|
||||
banner "Load", margin: 20
|
||||
|
||||
label "Replays"
|
||||
stack(width: 1.0, height: 0.30) do
|
||||
|
||||
@@ -7,7 +7,7 @@ class IMICRTS
|
||||
|
||||
stack(width: IMICRTS::MENU_WIDTH, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0xff555555, Gosu::Color::GRAY]
|
||||
label IMICRTS::NAME, text_size: 78, margin: 20
|
||||
banner IMICRTS::NAME, margin: 20
|
||||
button("Campaign", width: 1.0, enabled: false, tip: "No campaign available, yet...") do
|
||||
push_state(CampaignMenu)
|
||||
end
|
||||
|
||||
@@ -6,8 +6,8 @@ class IMICRTS
|
||||
stack(width: IMICRTS::MENU_WIDTH, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0xff555555, Gosu::Color::GRAY]
|
||||
|
||||
label "Multiplayer", text_size: 78, margin: 20
|
||||
label "Games", text_size: 32
|
||||
banner "Multiplayer", margin: 20
|
||||
title "Games"
|
||||
@games_list = stack(border_color: Gosu::Color::WHITE, border_thickness: 2) do
|
||||
end
|
||||
flow do
|
||||
@@ -15,10 +15,10 @@ class IMICRTS
|
||||
refresh_games
|
||||
end
|
||||
button("Host Game") do
|
||||
push_state(HostMultiplayerGameMenu)
|
||||
# push_state(HostMultiplayerGameMenu)
|
||||
end
|
||||
button("Join Game") do
|
||||
push_state(MultiplayerLobbyMenu)
|
||||
# push_state(MultiplayerLobbyMenu)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ class IMICRTS
|
||||
def setup
|
||||
stack(width: IMICRTS::MENU_WIDTH, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0xff555555, Gosu::Color::GRAY]
|
||||
label "Paused", text_size: 78, margin: 20
|
||||
banner "Paused", margin: 20
|
||||
|
||||
button "Resume", width: 1.0 do
|
||||
pop_state
|
||||
|
||||
@@ -6,7 +6,7 @@ class IMICRTS
|
||||
stack(width: IMICRTS::MENU_WIDTH, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0xff555555, Gosu::Color::GRAY]
|
||||
|
||||
label "Settings", text_size: 78, margin: 20
|
||||
banner "Settings", margin: 20
|
||||
|
||||
@skip_intro = check_box "Skip Intro", checked: Setting.enabled?(:skip_intro)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ class IMICRTS
|
||||
stack(width: 1.0, height: 1.0, padding: IMICRTS::MENU_PADDING) do
|
||||
background [0xff555555, Gosu::Color::GRAY]
|
||||
|
||||
label "Lobby", text_size: 78, margin: 20
|
||||
banner "Lobby", margin: 20
|
||||
flow(width: 1.0, height: 0.8) do
|
||||
flow(width: 0.70, height: 1.0) do
|
||||
stack(width: 0.40) do
|
||||
@@ -50,25 +50,29 @@ class IMICRTS
|
||||
stack(width: 0.30, height: 1.0) do
|
||||
# TODO: Show preview image
|
||||
label "Map"
|
||||
@map_name = list_box items: [:test_map], choose: :test_map, width: 1.0
|
||||
@map_name.subscribe(:changed) do |sender, value|
|
||||
map = Map.new(map_file: "maps/#{value}.tmx")
|
||||
@map_preview.instance_variable_set(:"@image", map.render_preview)
|
||||
@map_preview.recalculate
|
||||
maps_list = Dir.glob("#{GAME_ROOT_PATH}/assets/maps/*.tmx").map do |m|
|
||||
File.basename(m, ".tmx").to_sym
|
||||
end
|
||||
@map_preview = image "#{GAME_ROOT_PATH}/assets/logo.png", width: 1.0, border_thickness: 2, border_color: Gosu::Color::BLACK, background: Gosu::Color::GRAY
|
||||
|
||||
@map_name = list_box items: maps_list, choose: Setting.get(:default_map).to_sym, width: 1.0
|
||||
@map_name.subscribe(:changed) do |sender, value|
|
||||
@map_preview.value = map_preview(value)
|
||||
end
|
||||
|
||||
@map_preview = image map_preview(@map_name.value), width: 1.0, border_thickness: 2, border_color: Gosu::Color::BLACK, background: Gosu::Color::GRAY
|
||||
end
|
||||
end
|
||||
|
||||
flow(width: 1.0, height: 0.2) do
|
||||
button("Accept") do
|
||||
save_playerdata
|
||||
map = Map.new(map_file: "maps/#{@map_name.value}.tmx")
|
||||
|
||||
players = [
|
||||
{ id: 0, team: @player_team.value.to_i, spawnpoint: map.spawnpoints.last, color: @player_color.value.to_sym },
|
||||
{ id: 1, team: 2, spawnpoint: map.spawnpoints.first, color: :lightblue }
|
||||
{ id: 0, team: @player_team.value.to_i, spawnpoint: @map.spawnpoints.last, color: @player_color.value.to_sym },
|
||||
{ id: 1, team: 2, spawnpoint: @map.spawnpoints.first, color: :lightblue }
|
||||
]
|
||||
push_state(Game, networking_mode: :virtual, map: map, players: players)
|
||||
|
||||
push_state(Game, networking_mode: :virtual, map: @map, players: players)
|
||||
end
|
||||
|
||||
button("Back", align: :right) do
|
||||
@@ -83,8 +87,14 @@ class IMICRTS
|
||||
Setting.set(:player_name, @player_name.value)
|
||||
Setting.set(:player_color, @player_color.value.to_sym)
|
||||
Setting.set(:player_team, @player_team.value.to_i)
|
||||
Setting.set(:default_map, @map_name.value.to_s)
|
||||
|
||||
Setting.save!
|
||||
end
|
||||
|
||||
def map_preview(map_name)
|
||||
@map = Map.new(map_file: "maps/#{map_name}.tmx")
|
||||
@map.render_preview
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user