C# Class ByChance.Levels2D.LevelGenerator2D

Generates a 3D level based on a given chunk library.
Inheritance: LevelGenerator
Mostrar archivo Open project: npruehs/bychance

Public Methods

Method Description
AddChunk ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random ) : bool

Expands the passed level at any free context.

AddChunk ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random, Context2D freeContext ) : bool

Expands the passed level at the specified free context.

AddRandomChunk ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random ) : void

Adds a random chunk to the passed level at a random position, without checking for any intersections with the level bounds or other chunks and without aligning it to any other chunk.

GenerateLevel ( ChunkLibrary2D chunkLibrary, Vector2F levelExtents ) : Level2D

Generates a 2D level using the given chunk library and desired dimensions for the level.

GenerateLevel ( ChunkLibrary2D chunkLibrary, Vector2F levelExtents, Random2 random ) : Level2D

Generates a 2D level using the given chunk library, desired dimensions for the level and random number generator.

GenerateLevel ( ChunkLibrary2D chunkLibrary, Level2D level ) : void

Generates a 2D level using the given chunk library and level.

GenerateLevel ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random ) : void

Generates a 2D level using the given chunk library, level and random number generator.

PostProcessLevel ( Level2D level ) : void

Applies all available post-processing policies to the passed level.

Protected Methods

Method Description
ConstructChunkFromTemplate ( ChunkTemplate chunkTemplate ) : Chunk

Factory method that returns a new chunk based on the given chunk template that the type of the chunk template and of the chunks in the level.

Method Details

AddChunk() public method

Expands the passed level at any free context.
/// , or is null. /// /// is empty, or the types of and don't match. ///
public AddChunk ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random ) : bool
chunkLibrary ChunkLibrary2D /// Chunk library that holds all chunk templates to use for the level generation. ///
level Level2D Level to fill during the level generation process.
random ByChance.Core.Random2 Random number generator to use for the level generation.
return bool

AddChunk() public method

Expands the passed level at the specified free context.
/// , or is null. /// /// is empty, or the types of and don't match. /// /// is already blocked or aligned. ///
public AddChunk ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random, Context2D freeContext ) : bool
chunkLibrary ChunkLibrary2D /// Chunk library that holds all chunk templates to use for the level generation. ///
level Level2D Level to fill during the level generation process.
random ByChance.Core.Random2 Random number generator to use for the level generation.
freeContext Context2D Context to expland the level at.
return bool

AddRandomChunk() public method

Adds a random chunk to the passed level at a random position, without checking for any intersections with the level bounds or other chunks and without aligning it to any other chunk.
public AddRandomChunk ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random ) : void
chunkLibrary ChunkLibrary2D /// Chunk library that holds all chunk templates to use for the level generation. ///
level Level2D Level to fill during the level generation process.
random ByChance.Core.Random2 Random number generator to use for the level generation.
return void

ConstructChunkFromTemplate() protected method

Factory method that returns a new chunk based on the given chunk template that the type of the chunk template and of the chunks in the level.
/// The type of the passed chunktemplate doesn't match the desired chunk type. ///
protected ConstructChunkFromTemplate ( ChunkTemplate chunkTemplate ) : Chunk
chunkTemplate ByChance.Core.ChunkTemplate Chunk template the returned chunk should be based on.
return ByChance.Core.Chunk

GenerateLevel() public method

Generates a 2D level using the given chunk library and desired dimensions for the level.
public GenerateLevel ( ChunkLibrary2D chunkLibrary, Vector2F levelExtents ) : Level2D
chunkLibrary ChunkLibrary2D /// Chunk library that holds all chunk templates to use for the level generation. ///
levelExtents Vector2F Width and height the resulting level should have.
return Level2D

GenerateLevel() public method

Generates a 2D level using the given chunk library, desired dimensions for the level and random number generator.
/// Level width or height is smaller than or equal to zero. ///
public GenerateLevel ( ChunkLibrary2D chunkLibrary, Vector2F levelExtents, Random2 random ) : Level2D
chunkLibrary ChunkLibrary2D /// Chunk library that holds all chunk templates to use for the level generation. ///
levelExtents Vector2F Width and height the resulting level should have.
random ByChance.Core.Random2 Random number generator to use for the level generation.
return Level2D

GenerateLevel() public method

Generates a 2D level using the given chunk library and level.
public GenerateLevel ( ChunkLibrary2D chunkLibrary, Level2D level ) : void
chunkLibrary ChunkLibrary2D /// Chunk library that holds all chunk templates to use for the level generation. ///
level Level2D Level to fill during the level generation process.
return void

GenerateLevel() public method

Generates a 2D level using the given chunk library, level and random number generator.
public GenerateLevel ( ChunkLibrary2D chunkLibrary, Level2D level, Random2 random ) : void
chunkLibrary ChunkLibrary2D /// Chunk library that holds all chunk templates to use for the level generation. ///
level Level2D Level to fill during the level generation process.
random ByChance.Core.Random2 Random number generator to use for the level generation.
return void

PostProcessLevel() public method

Applies all available post-processing policies to the passed level.
public PostProcessLevel ( Level2D level ) : void
level Level2D Level to process.
return void