com.planet_ink.coffee_mud.Libraries.interfaces
Interface AreaGenerationLibrary.LayoutManager

All Known Implementing Classes:
AbstractLayout, ApartmentLayout, BoxCityLayout, BoxCitySquareLayout, CrossLayout, GridCityLayout, MazeLayout, TreeLayout
Enclosing interface:
AreaGenerationLibrary

public static interface AreaGenerationLibrary.LayoutManager

Area generators work by first laying out a set of rooms into a configuration called a Layout. Layouts are scalable configurations that can handle any size, or originating direction of entry. A Layout Manager then, is an algorithm for generating the room set given a size and initial direction. Each Layout Manager then generates a layout of rooms according to its kind.


Method Summary
 java.util.List<AreaGenerationLibrary.LayoutNode> generate(int num, int dir)
          Generates a list of layout nodes, each of which reprents a single room in the area.
 java.lang.String name()
          The name of the layout manager
 

Method Detail

name

java.lang.String name()
The name of the layout manager

Returns:
name of the layout manager

generate

java.util.List<AreaGenerationLibrary.LayoutNode> generate(int num,
                                                          int dir)
Generates a list of layout nodes, each of which reprents a single room in the area. The first node is always the entry room, which is entered from the direction given to this method.

Parameters:
num - the number of nodes to generate
dir - the direction of entry into this group of nodes.
Returns:
a list of layout nodes
See Also:
AreaGenerationLibrary.LayoutNode