class ClasslessMud::Client

Attributes

player[R]

Public Class Methods

new() click to toggle source
# File lib/classless_mud/client.rb, line 16
def initialize
  @callbacks = []
end

Public Instance Methods

on(&callback) click to toggle source
# File lib/classless_mud/client.rb, line 39
def on &callback
  @callbacks.push callback
end
puts(message) click to toggle source
# File lib/classless_mud/client.rb, line 43
def puts message
  send_data "#{message}\n"
end
receive_data(data) click to toggle source
# File lib/classless_mud/client.rb, line 28
def receive_data data
  data = data.chomp
  if @callbacks.any?
    callback = @callbacks.pop
    callback.call(data)
  else
    player.handle_message(data)
  end
  player.display_prompt if player
end
start(game) click to toggle source
# File lib/classless_mud/client.rb, line 20
def start game
  @game = game
  send_data MOTD
  ::ClasslessMud::AccountBuilder.create(self, game) { |player|
    @player = player
  }
end