mirror of
https://github.com/cyberarm/cyberarm_engine.git
synced 2025-12-16 13:12:34 +00:00
Added wip engine intro state
This commit is contained in:
@@ -61,3 +61,5 @@ require_relative "cyberarm_engine/model/model_object"
|
||||
require_relative "cyberarm_engine/model/parser"
|
||||
require_relative "cyberarm_engine/model/parsers/wavefront_parser"
|
||||
require_relative "cyberarm_engine/model/parsers/collada_parser" if defined?(Nokogiri)
|
||||
|
||||
require_relative "cyberarm_engine/builtin/intro_state"
|
||||
|
||||
55
lib/cyberarm_engine/builtin/intro_state.rb
Normal file
55
lib/cyberarm_engine/builtin/intro_state.rb
Normal file
@@ -0,0 +1,55 @@
|
||||
module CyberarmEngine
|
||||
class IntroState < CyberarmEngine::GameState
|
||||
def setup
|
||||
@title_size = 56
|
||||
@caption_size = 24
|
||||
|
||||
@title = CyberarmEngine::Text.new("", size: @title_size)
|
||||
@caption = CyberarmEngine::Text.new("", size: @caption_size)
|
||||
|
||||
@spacer_width = 256
|
||||
|
||||
@cyberarm_engine_logo = generate_proxy("CyberarmEngine", "Powered By")
|
||||
|
||||
@gosu_logo = generate_proxy("Gosu", "Game Library")
|
||||
@ruby_logo = generate_proxy("Ruby", "Programming Language")
|
||||
@sdl2_logo = generate_proxy("SDL2", "Simple DirectMedia Layer")
|
||||
end
|
||||
|
||||
def draw
|
||||
Gosu.draw_rect(0, 0, window.width, window.height, 0xff_222222)
|
||||
|
||||
@cyberarm_engine_logo.draw(window.width / 2 - @cyberarm_engine_logo.width / 2, window.height / 2 - @cyberarm_engine_logo.height, 2)
|
||||
|
||||
@gosu_logo.draw(6, window.height - @gosu_logo.height - 6, 2)
|
||||
@ruby_logo.draw(window.width / 2 - @ruby_logo.width / 2, window.height - @ruby_logo.height - 6, 2)
|
||||
@sdl2_logo.draw(window.width - (@sdl2_logo.width + 6), window.height - @sdl2_logo.height - 6, 2)
|
||||
end
|
||||
|
||||
def update
|
||||
end
|
||||
|
||||
def generate_proxy(title, caption)
|
||||
@title.text = title
|
||||
@caption.text = caption
|
||||
|
||||
padding = 6
|
||||
spacer_height = 6
|
||||
|
||||
width = @spacer_width + 2 * padding
|
||||
height = @title_size + @caption_size + spacer_height + 2 * padding + spacer_height
|
||||
|
||||
Gosu.record(width.ceil, height.ceil) do
|
||||
@title.x = (width - padding * 2) / 2 - @title.width / 2
|
||||
@title.y = padding
|
||||
@title.draw
|
||||
|
||||
Gosu.draw_rect(0, padding + @title_size + padding, @spacer_width, spacer_height, Gosu::Color::WHITE)
|
||||
|
||||
@caption.x = (width - padding * 2) / 2 - @caption.width / 2
|
||||
@caption.y = padding + @title_size + padding + spacer_height + padding
|
||||
@caption.draw
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user