lib/IFMapper/Map.rb in ifmapper-0.5 vs lib/IFMapper/Map.rb in ifmapper-0.6
- old
+ new
@@ -1,109 +1,108 @@
#!/usr/bin/env ruby
require 'IFMapper/Room'
-require 'IFMapper/Page'
+require 'IFMapper/Section'
class Map
attr_accessor :name
attr_accessor :creator
attr_accessor :date
- attr_reader :page
- attr_accessor :pages
+ attr_reader :section
+ attr_accessor :sections
attr_accessor :width
attr_accessor :height
- def page=(x)
+ def section=(x)
x = 0 if x < 0
- x = @pages.size - 1 if x >= @pages.size
- @page = x
+ x = @sections.size - 1 if x >= @sections.size
+ @section = x
end
#
# Used for loading class with Marshal
#
def marshal_load(v)
- @name = v.shift
- @creator = v.shift
- @date = v.shift
- @page = v.shift
- @pages = v.shift
- @width = v.shift
- @height = v.shift
+ @name = v.shift
+ @creator = v.shift
+ @date = v.shift
+ @section = v.shift
+ @sections = v.shift
+ @width = v.shift
+ @height = v.shift
end
#
# Used for saving class with Marshal
#
def marshal_dump
- [ @name, @creator, @date, @page, @pages, @width, @height ]
+ [ @name, @creator, @date, @section, @sections, @width, @height ]
end
def initialize(name)
- @page = 0
+ @section = 0
@name = name
@creator = ''
- # if printing sideways
- @width = 20
- @height = 20
+ @width = 8
+ @height = 11
- # Add at least one page
- @pages = []
- new_page
+ # Add at least one section
+ @sections = []
+ new_section
end
def copy(b)
- @page = b.page
- @pages = b.pages
- @name = b.name
- @creator = b.creator
- @width = b.width
- @height = b.height
- @date = b.date
+ @section = b.section
+ @sections = b.sections
+ @name = b.name
+ @creator = b.creator
+ @width = b.width
+ @height = b.height
+ @date = b.date
end
def delete_connection(c)
- @pages[@page].delete_connection(c)
+ @sections[@section].delete_connection(c)
end
def delete_connection_at( idx )
- @pages[@page].delete_connection_at(idx)
+ @sections[@section].delete_connection_at(idx)
end
def new_connection( roomA, exitA, roomB, exitB = nil )
- @pages[@page].new_connection(roomA, exitA, roomB, exitB)
+ @sections[@section].new_connection(roomA, exitA, roomB, exitB)
end
def delete_room_at(idx)
- @pages[@page].delete_room_at(idx)
+ @sections[@section].delete_room_at(idx)
end
def delete_room(r)
- @pages[@page].delete_room(r)
+ @sections[@section].delete_room(r)
end
def new_room( x, y )
- @pages[@page].new_room(x, y)
+ @sections[@section].new_room(x, y)
end
- def new_page
- @pages.push( Page.new )
- @page = @pages.size - 1
+ def new_section
+ @sections.push( Section.new )
+ @section = @sections.size - 1
end
- def _check_page
- @page = @pages.size - 1 if @page >= @pages.size
- new_page if @pages.size == 0
+ def _check_section
+ @section = @sections.size - 1 if @section >= @sections.size
+ new_section if @sections.size == 0
end
- def delete_page_at(idx)
- @pages.delete_at(idx)
- _check_page
+ def delete_section_at(idx)
+ @sections.delete_at(idx)
+ _check_section
end
end