class RPG::EventCommand

Public Class Methods

new(hash) click to toggle source
# File lib/rmxp_extractor/classnames.rb, line 292
def initialize(hash)
  @code = hash["code"]
  @indent = hash["indent"]
  @parameters = []
  hash["parameters"].each_with_index do |value|
    if value.is_a?(Hash)
      if hash["code"] == 250 || hash["code"] == 249 || hash["code"] == 241 || hash["code"] == 242 || hash["code"] == 245
        @parameters << RPG::AudioFile.new(value)
      elsif hash["code"] == 223 || hash["code"] == 234 || hash["code"] == 205
        @parameters << Tone.new(value)
      elsif hash["code"] == 224
        @parameters << Color.new(value)
      elsif hash["code"] == 509
        @parameters << RPG::MoveCommand.new(value)
      elsif hash["code"] == 209
        @parameters << RPG::MoveRoute.new(value)
      end
    else
      @parameters << value
    end
  end
end

Public Instance Methods

hash() click to toggle source
# File lib/rmxp_extractor/classnames.rb, line 315
def hash
  dump = {
    code: @code,
    indent: @indent,
    parameters: [],
  }
  @parameters.each_with_index do |value|
    if value.to_s.match(/#<RPG::/) || value.to_s.match(/#<Tone:/) || value.to_s.match(/#<Color:/) || value.to_s.match(/#<Table:/)
      dump[:parameters] << value.hash
    elsif value.is_a? String
      if value.encoding.to_s != "UTF-8"
        dump[:parameters] << value.force_encoding("iso-8859-1").encode("utf-8")
      else
        dump[:parameters] << value
      end
    else
      dump[:parameters] << value
    end
  end
  dump
end