Dungeon Architect
17.0.0
|
A Dungeon Builder implementation that builds a grid based dungeon.
More...
Public Member Functions | |
override void | BuildDungeon (DungeonConfig config, DungeonModel model) |
Builds the dungeon More... | |
void | BuildCellsWithDistribution () |
void | BuildCellsWithSeparation () |
builds the cells in the dungeon More... | |
void | TriangulateRooms () |
Triangulates the rooms identified in the previous phase This is required to connect the corridors. Delauney triangulation is used to find nice evenly spaced triangles for good connections More... | |
override void | OnVolumePositionModified (Volume volume, out IntVector newPositionOnGrid, out IntVector newSizeOnGrid) |
Implementations should override this so that the new logical scale and position is set based on the volume's transformation More... | |
void | GenerateAdjacencyLookup () |
override void | EmitMarkers () |
Emit markers defined by this builder More... | |
bool | V3Equal (Vector3 a, Vector3 b) |
override void | DebugDraw () |
Public Member Functions inherited from DungeonArchitect.DungeonBuilder | |
virtual void | OnDestroyed () |
virtual bool | IsThemingSupported () |
virtual bool | DestroyDungeonOnRebuild () |
virtual void | BuildNonThemedDungeon (DungeonSceneProvider sceneProvider, IDungeonSceneObjectInstantiator objectInstantiator) |
virtual void | DebugDrawGizmos () |
void | EmitCustomMarkers () |
Emit markers defined by the user (implementation of DungeonMarkerEmitter) More... | |
PropSocket | EmitMarker (string SocketType, Matrix4x4 transform, IntVector gridPosition, int cellId) |
PropSocket | EmitMarker (string SocketType, Matrix4x4 transform, IntVector gridPosition, int cellId, object metadata) |
void | EmitMarker (string SocketType, Matrix4x4 _transform, int count, Vector3 InterOffset, IntVector gridPosition, int cellId, Vector3 LogicalToWorldScale) |
void | EmitMarker (string SocketType, Matrix4x4 _transform, int count, Vector3 InterOffset, IntVector gridPosition, int cellId, Vector3 LogicalToWorldScale, object metadata) |
Static Public Member Functions | |
static bool | Seperate (GridDungeonModel gridModel) |
Separates the cells built in the previous phase More... | |
Protected Member Functions | |
override LevelMarkerList | CreateMarkerListObject (DungeonConfig config) |
Protected Member Functions inherited from DungeonArchitect.DungeonBuilder | |
void | ClearSockets () |
void | ProcessMarkerOverrideVolumes () |
Additional Inherited Members | |
Public Attributes inherited from DungeonArchitect.DungeonBuilder | |
bool | asyncBuild = false |
long | maxBuildTimePerFrame = 32 |
Transform | asyncBuildStartPosition |
Protected Attributes inherited from DungeonArchitect.DungeonBuilder | |
DungeonConfig | config |
PMRandom | nrandom |
PMRandom | random |
DungeonModel | model |
LevelMarkerList | markers = new LevelMarkerList() |
Blackboard | blackboard = new Blackboard() |
Properties inherited from DungeonArchitect.DungeonBuilder | |
bool | IsLayoutBuilt [get] |
LevelMarkerList | Markers [get] |
DungeonModel | Model [get] |
Blackboard | Blackboard [get] |
A Dungeon Builder implementation that builds a grid based dungeon.
It is based on the awesome algorithm described here by the TinyKeep game's author https://www.reddit.com/r/gamedev/comments/1dlwc4/procedural_dungeon_generation_algorithm_explained/
Definition at line 114 of file GridDungeonBuilder.cs.
void DungeonArchitect.Builders.Grid.GridDungeonBuilder.BuildCellsWithSeparation | ( | ) |
builds the cells in the dungeon
Definition at line 343 of file GridDungeonBuilder.cs.
|
virtual |
Builds the dungeon
config | The dungeon configuration |
model | The dungeon model |
Reimplemented from DungeonArchitect.DungeonBuilder.
Definition at line 179 of file GridDungeonBuilder.cs.
|
virtual |
Emit markers defined by this builder
Reimplemented from DungeonArchitect.DungeonBuilder.
Definition at line 2601 of file GridDungeonBuilder.cs.
|
virtual |
Implementations should override this so that the new logical scale and position is set based on the volume's transformation
volume | |
newPositionOnGrid | |
newSizeOnGrid |
Reimplemented from DungeonArchitect.DungeonBuilder.
Definition at line 2541 of file GridDungeonBuilder.cs.
|
static |
Separates the cells built in the previous phase
gridModel |
Definition at line 824 of file GridDungeonBuilder.cs.
void DungeonArchitect.Builders.Grid.GridDungeonBuilder.TriangulateRooms | ( | ) |
Triangulates the rooms identified in the previous phase This is required to connect the corridors.
Delauney triangulation is used to find nice evenly spaced triangles for good connections
gridModel |
Definition at line 899 of file GridDungeonBuilder.cs.