lib/IFMapper/FXSection.rb in ifmapper-0.8.5 vs lib/IFMapper/FXSection.rb in ifmapper-0.9
- old
+ new
@@ -3,9 +3,18 @@
require 'IFMapper/FXRoom'
require 'IFMapper/Section'
class FXSection < Section
def new_connection( roomA, exitA, roomB, exitB = nil )
+ # Verify rooms exist in section (ie. don't allow links across
+ # sections)
+ if not @rooms.include?(roomA)
+ raise ConnectionError, "Room #{roomA} not in section #{self}"
+ end
+ if roomB and not @rooms.include?(roomB)
+ raise ConnectionError, "Room #{roomB} not in section #{self}"
+ end
+
c = FXConnection.new( roomA, roomB )
return _new_connection(c, roomA, exitA, roomB, exitB)
end
def new_room(x, y)