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