class TyranoDsl::ExportText::Writer

Write the content that have been parsed

Public Instance Methods

write(parsed_words) click to toggle source

@param [Array<TyranoDsl::ParsedWord>] parsed_words @return [Array<String>] @raise [TyranoDsl::TyranoException]

# File lib/tyrano_dsl/export_text/writer.rb, line 10
def write(parsed_words)
  result = []
  parsed_words.each do |parsed_word|
    result.concat(write_word(parsed_word))
  end
  result
end
write_word(parsed_word) click to toggle source

@param [TyranoDsl::ParsedWord] parsed_word @return [Array<String>]

# File lib/tyrano_dsl/export_text/writer.rb, line 20
def write_word(parsed_word)
  parameters = parsed_word.parameters
  case parsed_word.word
    when TyranoDsl::Vocabulary::DISPLAY_TEXT
      content = []
      if parameters[:character_name]
        content << "#{parameters[:character_name]}\n"
      end
      content << "#{parameters[:text]}\n"
      content
    when TyranoDsl::Vocabulary::ASK_QUESTION
      parameters[:possible_answers].collect do |possible_answer|
        "  #{possible_answer[:text]}\n"
      end
    else
      []
  end
end