mirror of
https://github.com/cyberarm/cyberarm_engine.git
synced 2026-05-06 07:58:15 +00:00
Added initial dialog support
This commit is contained in:
@@ -67,6 +67,7 @@ require_relative "cyberarm_engine/ui/elements/menu_item"
|
||||
|
||||
require_relative "cyberarm_engine/game_state"
|
||||
require_relative "cyberarm_engine/ui/gui_state"
|
||||
require_relative "cyberarm_engine/ui/dialog"
|
||||
require_relative "cyberarm_engine/ui/page"
|
||||
|
||||
require_relative "cyberarm_engine/builtin/intro_state"
|
||||
|
||||
24
lib/cyberarm_engine/ui/dialog.rb
Normal file
24
lib/cyberarm_engine/ui/dialog.rb
Normal file
@@ -0,0 +1,24 @@
|
||||
module CyberarmEngine
|
||||
class Dialog < CyberarmEngine::GuiState
|
||||
def draw
|
||||
previous_state&.draw
|
||||
|
||||
Gosu.flush
|
||||
|
||||
super
|
||||
end
|
||||
|
||||
def update
|
||||
super
|
||||
|
||||
return unless window.current_state == self
|
||||
|
||||
window.states.reverse.each do |state|
|
||||
# Don't update ourselves, forever
|
||||
next if state == self && state.is_a?(CyberarmEngine::GuiState)
|
||||
|
||||
state.update
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -120,6 +120,10 @@ module CyberarmEngine
|
||||
element_parent.root.gui_state.current_page
|
||||
end
|
||||
|
||||
def dialog(klass, options = {})
|
||||
element_parent.root.gui_state.window.push_state(klass, options)
|
||||
end
|
||||
|
||||
def background(color = Gosu::Color::NONE)
|
||||
element_parent.style.background = color
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user