class WolfRpg::Map::Event

Constants

MAGIC_NUMBER1
MAGIC_NUMBER2

Attributes

id[RW]
name[RW]
pages[RW]
x[RW]
y[RW]

Public Class Methods

new(coder) click to toggle source
# File lib/wolfrpg/map.rb, line 101
def initialize(coder)
  coder.verify(MAGIC_NUMBER1)
  @id = coder.read_int
  @name = coder.read_string
  @x = coder.read_int
  @y = coder.read_int
  @pages = Array.new(coder.read_int)
  coder.verify(MAGIC_NUMBER2)

  # Read pages
  page_id = 0
  while (indicator = coder.read_byte) == 0x79
    page = Page.new(coder, page_id)
    @pages[page_id] = page
    page_id += 1
  end
  if indicator != 0x70
    raise "unexpected event page indicator: #{indicator.to_s(16)}"
  end
end

Public Instance Methods

dump(coder) click to toggle source
# File lib/wolfrpg/map.rb, line 122
def dump(coder)
  coder.write(MAGIC_NUMBER1)
  coder.write_int(@id)
  coder.write_string(@name)
  coder.write_int(@x)
  coder.write_int(@y)
  coder.write_int(@pages.size)
  coder.write(MAGIC_NUMBER2)

  # Write pages
  @pages.each do |page|
    coder.write_byte(0x79)
    page.dump(coder)
  end
  coder.write_byte(0x70)
end
each_filename() { |fn| ... } click to toggle source
# File lib/wolfrpg/map.rb, line 139
def each_filename
  @pages.each do |page|
    page.each_filename do |fn|
      yield fn
    end
  end
end