Class: MapDungeon::DungeonBuilder

Inherits:
Object
  • Object
show all
Includes:
MapEntity
Defined in:
lib/map/dungeon.rb

Overview

Dungeon builder class

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDungeonBuilder

Returns a new instance of DungeonBuilder.



58
59
60
# File 'lib/map/dungeon.rb', line 58

def initialize()
  @dungeon = Dungeon.new()
end

Instance Attribute Details

#dungeonObject (readonly)

Returns the value of attribute dungeon.



62
63
64
# File 'lib/map/dungeon.rb', line 62

def dungeon
  @dungeon
end

Instance Method Details

#add_description(description) ⇒ Object



87
88
89
# File 'lib/map/dungeon.rb', line 87

def add_description(description)
  @dungeon.description = description
end

#add_name(name) ⇒ Object



83
84
85
# File 'lib/map/dungeon.rb', line 83

def add_name(name)
  @dungeon.name = name
end

#build_dungeon(name, description, node = nil, entityBuilder = "") ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/map/dungeon.rb', line 64

def build_dungeon(name, description, node = nil, entityBuilder = "")
  add_name(name)
  add_description(description)
  if(node != nil)
    node.each() do |entity|
      args = []
      if(entityBuilder.length > 0)
        builder = Object::const_get(entityBuilder).new()
      else
        builder = EntityBuilder.new()
      end
      nodeSet = entity.xpath("*")
      nodeSet.each { |n| args << n.content }
      builder.build_entity(*(args))
      @dungeon.add_entity(builder.entity, builder.entity.type)
    end
  end
end