mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 15:42:35 +00:00
Added extras menu, stubbed map editor, made asset viewer and map editor accessible from extras menu
This commit is contained in:
21
i-mic-fps.rb
21
i-mic-fps.rb
@@ -54,6 +54,7 @@ end
|
||||
require_relative "lib/ui/console"
|
||||
require_relative "lib/ui/menus/main_menu"
|
||||
require_relative "lib/ui/menus/settings_menu"
|
||||
require_relative "lib/ui/menus/extras_menu"
|
||||
require_relative "lib/ui/menus/level_select_menu"
|
||||
require_relative "lib/ui/menus/game_pause_menu"
|
||||
|
||||
@@ -101,24 +102,8 @@ require_relative "lib/demo"
|
||||
|
||||
require_relative "lib/window"
|
||||
|
||||
if ARGV[0] == "tool"
|
||||
case ARGV[1]
|
||||
when "viewer" # Turn Table
|
||||
require_relative "lib/tools/asset_viewer/asset_viewer"
|
||||
when "editor" # Level Editor
|
||||
raise NotImplementedError
|
||||
else
|
||||
if ARGV[1].nil?
|
||||
puts "### I-MIC FPS Tools ###"
|
||||
puts "viewer - 3D Turn Table"
|
||||
puts "editor - Level Editor"
|
||||
else
|
||||
raise "No such tool: #{ARGV[1]}"
|
||||
end
|
||||
end
|
||||
|
||||
return # Don't launch game, but load all required files
|
||||
end
|
||||
require_relative "lib/tools/asset_viewer"
|
||||
require_relative "lib/tools/map_editor"
|
||||
|
||||
if ARGV.join.include?("--profile")
|
||||
begin
|
||||
|
||||
2
lib/tools/asset_viewer.rb
Normal file
2
lib/tools/asset_viewer.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
require_relative "asset_viewer/lib/main_menu"
|
||||
require_relative "asset_viewer/lib/turn_table"
|
||||
@@ -1,12 +0,0 @@
|
||||
require_relative "lib/main_menu"
|
||||
require_relative "lib/turn_table"
|
||||
|
||||
class AssetViewerWindow < IMICFPS::Window
|
||||
def initialize(*args)
|
||||
super(*args)
|
||||
|
||||
push_state(IMICFPS::AssetViewerTool::MainMenu)
|
||||
end
|
||||
end
|
||||
|
||||
AssetViewerWindow.new.show
|
||||
@@ -18,6 +18,10 @@ class IMICFPS
|
||||
|
||||
@manifests.sort_by! { |m| m.name.downcase }
|
||||
|
||||
button "Back", margin_bottom: 25 do
|
||||
pop_state
|
||||
end
|
||||
|
||||
flow(margin: 10) do
|
||||
@manifests.each do |manifest|
|
||||
button manifest.name do
|
||||
@@ -25,10 +29,6 @@ class IMICFPS
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
button "Exit", margin_top: 25 do
|
||||
window.close
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
1
lib/tools/map_editor.rb
Normal file
1
lib/tools/map_editor.rb
Normal file
@@ -0,0 +1 @@
|
||||
require_relative "map_editor/lib/main_menu"
|
||||
45
lib/tools/map_editor/lib/main_menu.rb
Normal file
45
lib/tools/map_editor/lib/main_menu.rb
Normal file
@@ -0,0 +1,45 @@
|
||||
class IMICFPS
|
||||
class MapEditorTool
|
||||
class MainMenu < CyberarmEngine::GuiState
|
||||
def setup
|
||||
window.needs_cursor = true
|
||||
|
||||
label "#{IMICFPS::NAME}", text_size: 50
|
||||
label "Map Editor", text_size: 28
|
||||
|
||||
@maps = []
|
||||
Dir.glob(GAME_ROOT_PATH + "/maps/*.json").each do |map|
|
||||
begin
|
||||
@maps << MapParser.new(map_file: map)
|
||||
rescue
|
||||
warn "Broken map file: #{map}"
|
||||
end
|
||||
end
|
||||
|
||||
@maps.sort_by! { |m| m.metadata.name.downcase }
|
||||
|
||||
button "Back", margin_bottom: 25 do
|
||||
pop_state
|
||||
end
|
||||
|
||||
button "New Map"
|
||||
|
||||
label ""
|
||||
label "Edit Map"
|
||||
flow(margin: 10) do
|
||||
@maps.each do |map|
|
||||
button map.metadata.name do
|
||||
# push_state(TurnTable, manifest: manifest)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
super
|
||||
|
||||
window.needs_cursor = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
20
lib/ui/menus/extras_menu.rb
Normal file
20
lib/ui/menus/extras_menu.rb
Normal file
@@ -0,0 +1,20 @@
|
||||
class IMICFPS
|
||||
class ExtrasMenu < Menu
|
||||
def setup
|
||||
title "I-MIC FPS"
|
||||
subtitle "Extras"
|
||||
|
||||
link "Asset Viewer" do
|
||||
push_state(IMICFPS::AssetViewerTool::MainMenu)
|
||||
end
|
||||
|
||||
link "Map Editor" do
|
||||
push_state(IMICFPS::MapEditorTool::MainMenu)
|
||||
end
|
||||
|
||||
link "Back" do
|
||||
pop_state
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -12,6 +12,10 @@ class IMICFPS
|
||||
push_state(SettingsMenu)
|
||||
end
|
||||
|
||||
link "Extras" do
|
||||
push_state(ExtrasMenu)
|
||||
end
|
||||
|
||||
link "Exit" do
|
||||
window.close
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user