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/game_state"
|
||||||
require_relative "cyberarm_engine/ui/gui_state"
|
require_relative "cyberarm_engine/ui/gui_state"
|
||||||
|
require_relative "cyberarm_engine/ui/dialog"
|
||||||
require_relative "cyberarm_engine/ui/page"
|
require_relative "cyberarm_engine/ui/page"
|
||||||
|
|
||||||
require_relative "cyberarm_engine/builtin/intro_state"
|
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
|
element_parent.root.gui_state.current_page
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def dialog(klass, options = {})
|
||||||
|
element_parent.root.gui_state.window.push_state(klass, options)
|
||||||
|
end
|
||||||
|
|
||||||
def background(color = Gosu::Color::NONE)
|
def background(color = Gosu::Color::NONE)
|
||||||
element_parent.style.background = color
|
element_parent.style.background = color
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user