class Gamefic::Narrator


A narrative controller.

def cast(character = plot.introduce)

Returns:
  • (Actor, Active) -

Parameters:
  • character (Actor, Active) --
def cast(character = plot.introduce)
  plot.cast character
end

def concluding?

def concluding?
  plot.concluding?
end

def cues

Returns:
  • (Array) -
def cues
  @cues ||= []
end

def finish

Returns:
  • (void) -
def finish
  cues.each(&:finish)
  cues.clear
  plot.update_blocks.each(&:call)
end

def initialize(plot)

def initialize(plot)
  @plot = plot
  last_cues
end

def last_cues

Returns:
  • (void) -
def last_cues
  cues.replace(plot.players.map(&:last_cue))
      .compact
end

def next_cues

Returns:
  • (void) -
def next_cues
  cues.replace(plot.players.map { |player| player.next_cue || player.cue(plot.default_scene) })
      .each(&:start)
end

def players

def players
  plot.players
end

def start

Returns:
  • (void) -
def start
  next_cues
  plot.ready_blocks.each(&:call)
  plot.turn
  cues.each(&:prepare)
end

def uncast(character)

Returns:
  • (Actor, Active) -

Parameters:
  • character (Actor, Active) --
def uncast(character)
  plot.uncast character
end