class Basher::UI::DebugView

Attributes

game[RW]
last_input[RW]

Public Class Methods

lines() click to toggle source
# File lib/basher/ui/debug_view.rb, line 7
def self.lines
  1
end

Public Instance Methods

setup() click to toggle source
# File lib/basher/ui/debug_view.rb, line 11
def setup
  draw_text = -> {
    setup_left_part
    setup_right_part
  }

  if game.state.in_game?
    clear
    render every: 0.04 do
      draw_text.call
    end
  else
    clear
    draw_text.call
  end
end

Private Instance Methods

setup_left_part() click to toggle source
# File lib/basher/ui/debug_view.rb, line 30
def setup_left_part
  state     = game.state.current
  left_part = [state, last_input].compact

  if game.state.in_game?
    seconds_elapsed = game.timer.total_elapsed
    left_part.unshift seconds_elapsed
  end

  puts left_part.join(' | '), h: :left
end
setup_right_part() click to toggle source
# File lib/basher/ui/debug_view.rb, line 42
def setup_right_part
  active_views  = game.send(:current_views).map do |v|
    v.class.to_s.gsub(/^.*::/, '')
  end.join(', ')
  terminal_size = game.base_view.size

  right_part = [active_views, terminal_size].join(' | ')
  puts right_part, h: :right
end