class PasswordDialog

Constants

PRINTABLE_ASCII
PROMPT

Public Class Methods

new(window, font) click to toggle source
Calls superclass method Message::new
# File lib/game_2d/password_dialog.rb, line 11
def initialize(window, font)
  super(window, font, [PROMPT, '_'])
  @text = @window.text_input = Gosu::TextInput.new
  @draw_count = 0
end

Public Instance Methods

display_text() click to toggle source
# File lib/game_2d/password_dialog.rb, line 17
def display_text
  size = password.size
  return '_' if size.zero?
  rand_char = PRINTABLE_ASCII[
    (@draw_count / 10) * 53 % PRINTABLE_ASCII.size
  ]
  rand_char * size
end
draw() click to toggle source
Calls superclass method Message#draw
# File lib/game_2d/password_dialog.rb, line 26
def draw
  @draw_count += 1
  self.lines = [PROMPT, display_text]
  super
end
enter() click to toggle source
# File lib/game_2d/password_dialog.rb, line 32
def enter
  @window.text_input = nil
end
password_hash() click to toggle source
# File lib/game_2d/password_dialog.rb, line 41
def password_hash
  make_password_hash password
end

Private Instance Methods

password() click to toggle source
# File lib/game_2d/password_dialog.rb, line 36
def password
  @text.text
end