Class: CoopAl::Session
- Inherits:
-
Object
- Object
- CoopAl::Session
- Defined in:
- lib/coop_al/session.rb
Overview
Session
Instance Method Summary collapse
- #add_encounter(encounter) ⇒ Object
- #done? ⇒ Boolean
- #dump(s) ⇒ Object
-
#initialize(number, date_generator, adventure_name, dm_name, starting_xp, starting_treasure, encounter_count) ⇒ Session
constructor
A new instance of Session.
Constructor Details
#initialize(number, date_generator, adventure_name, dm_name, starting_xp, starting_treasure, encounter_count) ⇒ Session
Returns a new instance of Session.
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/coop_al/session.rb', line 6 def initialize(number, date_generator, adventure_name, dm_name, starting_xp, starting_treasure, encounter_count) @number = number @date_generator = date_generator @adventure_name = adventure_name @dm_name = dm_name @starting_xp = starting_xp @starting_treasure = starting_treasure @encounter_count = encounter_count @encounters = [] @date_generator.add_session end |
Instance Method Details
#add_encounter(encounter) ⇒ Object
19 20 21 |
# File 'lib/coop_al/session.rb', line 19 def add_encounter(encounter) @encounters << encounter end |
#done? ⇒ Boolean
23 24 25 |
# File 'lib/coop_al/session.rb', line 23 def done? @encounters.count { |e| e.counts? } == @encounter_count end |
#dump(s) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/coop_al/session.rb', line 27 def dump(s) s.puts "Adventure: #{@adventure_name}" s.puts "Session ##{@number}: #{@date_generator.session(@number)}" s.puts "DM: #{@dm_name}" s.puts "Starting XP: #{@starting_xp} (level #{level(@starting_xp)})" s.puts "XP Earned: #{xp_earned}" s.puts "XP Total: #{@starting_xp + xp_earned} (level #{level(@starting_xp + xp_earned)})" s.puts "Starting Treasure: #{@starting_treasure}" s.puts "Treasure +/-: #{treasure_earned}" s.puts "Treasure Total: #{@starting_treasure + treasure_earned}" @encounters.each { |e| e.dump(s) if e.counts? } s.puts end |