Refactored summary screen code

This commit is contained in:
Maruno17
2024-08-24 22:14:29 +01:00
parent 45127be5b6
commit 273e1bb565
6 changed files with 573 additions and 382 deletions

View File

@@ -54,11 +54,11 @@ module UI
#---------------------------------------------------------------------------
def add_overlay(key)
@sprites[key] = BitmapSprite.new(Graphics.width, Graphics.height, @viewport)
@sprites[key].z = 1000
self.class::TEXT_COLOR_THEMES.each_pair { |key, values| @sprites[key].add_text_theme(key, *values) }
pbSetSystemFont(@sprites[key].bitmap)
def add_overlay(overlay)
@sprites[overlay] = BitmapSprite.new(Graphics.width, Graphics.height, @viewport)
@sprites[overlay].z = 1000
self.class::TEXT_COLOR_THEMES.each_pair { |key, values| @sprites[overlay].add_text_theme(key, *values) }
pbSetSystemFont(@sprites[overlay].bitmap)
end
def add_icon_sprite(key, x, y, filename = nil)
@@ -66,6 +66,23 @@ module UI
@sprites[key].setBitmap(filename) if filename
end
def add_animated_arrow(key, x, y, direction)
case direction
when :up
@sprites[key] = AnimatedSprite.new(UI_FOLDER + "up_arrow", 8, 28, 40, 2, @viewport)
when :down
@sprites[key] = AnimatedSprite.new(UI_FOLDER + "down_arrow", 8, 28, 40, 2, @viewport)
when :left
@sprites[key] = AnimatedSprite.new(UI_FOLDER + "left_arrow", 8, 40, 28, 2, @viewport)
when :right
@sprites[key] = AnimatedSprite.new(UI_FOLDER + "right_arrow", 8, 40, 28, 2, @viewport)
end
@sprites[key].x = x
@sprites[key].y = y
@sprites[key].visible = false
@sprites[key].play
end
#---------------------------------------------------------------------------
def fade_in
@@ -230,6 +247,18 @@ module UI
@sprites[overlay].draw_themed_text(string.to_s, text_x, text_y, align, theme, outline)
end
def draw_paragraph_text(string, text_x, text_y, text_width, num_lines, theme: :default, overlay: :overlay)
drawTextEx(@sprites[overlay].bitmap, text_x, text_y, text_width, num_lines,
string, *self.class::TEXT_COLOR_THEMES[theme])
end
# NOTE: This also draws string in a paragraph, but with no limit on the
# number of lines.
def draw_formatted_text(string, text_x, text_y, text_width, theme: :default, overlay: :overlay)
drawFormattedTextEx(@sprites[overlay].bitmap, text_x, text_y, text_width,
string, *self.class::TEXT_COLOR_THEMES[theme])
end
def draw_image(filename, image_x, image_y, src_x = 0, src_y = 0, src_width = -1, src_height = -1, overlay: :overlay)
@sprites[overlay].draw_image(filename, image_x, image_y, src_x, src_y, src_width, src_height)
end

File diff suppressed because it is too large Load Diff