Class: Player
- Inherits:
-
Thing
show all
- Defined in:
- lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb
Instance Method Summary
collapse
Methods inherited from Thing
#add, #command, #command_name, #iname, #place, #place=, #presence, #presence=, #send_message_to_place
#==, #delete_elements, #first_element, #first_element_text, #import, import, #replace_element_text, #typed_add
Constructor Details
#initialize(world, iname, jid) ⇒ Player
Returns a new instance of Player.
372
373
374
375
376
|
# File 'lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb', line 372
def initialize(world, iname, jid)
super(world)
attributes['name'] = iname
attributes['jid'] = jid.to_s
end
|
Instance Method Details
#jid ⇒ Object
378
379
380
|
# File 'lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb', line 378
def jid
attributes['jid'].nil? ? nil : Jabber::JID.new(attributes['jid'])
end
|
#on_enter(thing, from) ⇒ Object
405
406
407
408
409
410
411
412
413
|
# File 'lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb', line 405
def on_enter(thing, from)
if thing != self
if from.nil?
send_message(nil, "#{thing.iname} spawns")
else
send_message(nil, "#{thing.iname} enters #{place} coming from #{from}")
end
end
end
|
#on_leave(thing, to) ⇒ Object
415
416
417
418
419
420
421
422
423
|
# File 'lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb', line 415
def on_leave(thing, to)
if thing != self
if to.nil?
send_message(nil, "#{thing.iname} disintegrates")
else
send_message(nil, "#{thing.iname} leaves #{place} going to #{to}")
end
end
end
|
#see(place) ⇒ Object
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
|
# File 'lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb', line 382
def see(place)
return if place.nil?
place.text.strip.split(/\n/).each do |line|
send_message(nil, line.strip)
end
send_message(nil, " ")
directions = []
place.each_element('go') { |go|
directions.push(go.attributes['spec'])
}
send_message(nil, "You can go #{directions.join(', ')}")
end
|
#send_message(fromresource, text, subject = nil) ⇒ Object
398
399
400
401
402
403
|
# File 'lib/vendor/xmpp4r/data/doc/xmpp4r/examples/advanced/adventure/world.rb', line 398
def send_message(fromresource, text, subject=nil)
msg = Jabber::Message.new(jid, text)
msg.type = :groupchat
msg.subject = subject unless subject.nil?
@world.send(fromresource, msg)
end
|