792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
|
# File 'lib/ruby-doom.rb', line 792
def initialize(path)
@path = path
@sectors = Sectors.new
@sectors.add(Sector.new)
@vertexes = Vertexes.new
@vertexes.add(Vertex.new(@path.start))
@path.visit(self)
@sidedefs = Sidedefs.new
@path.segment_count.times do |v|
s = @sidedefs.add Sidedef.new
s.sector_id = @sectors.items[0].id
end
@linedefs = Linedefs.new
last = nil
@vertexes.items.each do |v|
if last.nil?
last = v
next
end
@linedefs.add Linedef.new(last, v, @sidedefs.items[last.id])
last = v
end
@linedefs.add(Linedef.new(@vertexes.items.last, @vertexes.items.first, @sidedefs.items.last))
end
|