Dungeon Architect  17.0.0
DungeonArchitect.DungeonBuilder Class Reference

Builds the layout of the dungeon and emits markers around the layout Implement this class to create your own builder More...

Inheritance diagram for DungeonArchitect.DungeonBuilder:
DungeonArchitect.Builders.BSP.BSPDungeonBuilder DungeonArchitect.Builders.CircularCity.CircularCityDungeonBuilder DungeonArchitect.Builders.FloorPlan.FloorPlanBuilder DungeonArchitect.Builders.Grid.GridDungeonBuilder DungeonArchitect.Builders.GridFlow.GridFlowDungeonBuilder DungeonArchitect.Builders.Infinity.Caves.InfinityCaveChunkBuilder DungeonArchitect.Builders.Isaac.IsaacDungeonBuilder DungeonArchitect.Builders.Mario.MarioDungeonBuilder DungeonArchitect.Builders.Maze.MazeDungeonBuilder DungeonArchitect.Builders.SimpleCity.SimpleCityDungeonBuilder DungeonArchitect.Builders.Snap.SnapBuilder DungeonArchitect.Builders.SnapGridFlow.SnapGridFlowBuilder

Public Member Functions

virtual void BuildDungeon (DungeonConfig config, DungeonModel model)
 Builds the dungeon layout More...
 
virtual void OnDestroyed ()
 
virtual bool IsThemingSupported ()
 
virtual bool DestroyDungeonOnRebuild ()
 
virtual void BuildNonThemedDungeon (DungeonSceneProvider sceneProvider, IDungeonSceneObjectInstantiator objectInstantiator)
 
virtual void DebugDraw ()
 
virtual void DebugDrawGizmos ()
 
virtual void EmitMarkers ()
 Emit markers defined by this builder More...
 
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)
 
virtual 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...
 

Public Attributes

bool asyncBuild = false
 
long maxBuildTimePerFrame = 32
 
Transform asyncBuildStartPosition
 

Protected Member Functions

virtual LevelMarkerList CreateMarkerListObject (DungeonConfig config)
 
void ClearSockets ()
 
void ProcessMarkerOverrideVolumes ()
 

Protected Attributes

DungeonConfig config
 
PMRandom nrandom
 
PMRandom random
 
DungeonModel model
 
LevelMarkerList markers = new LevelMarkerList()
 
Blackboard blackboard = new Blackboard()
 

Properties

bool IsLayoutBuilt [get]
 
LevelMarkerList Markers [get]
 
DungeonModel Model [get]
 
Blackboard Blackboard [get]
 

Detailed Description

Builds the layout of the dungeon and emits markers around the layout Implement this class to create your own builder

Definition at line 14 of file DungeonBuilder.cs.

Member Function Documentation

◆ BuildDungeon()

◆ EmitCustomMarkers()

void DungeonArchitect.DungeonBuilder.EmitCustomMarkers ( )

Emit markers defined by the user (implementation of DungeonMarkerEmitter)

Definition at line 115 of file DungeonBuilder.cs.

◆ EmitMarkers()

◆ OnVolumePositionModified()

virtual void DungeonArchitect.DungeonBuilder.OnVolumePositionModified ( Volume  volume,
out IntVector  newPositionOnGrid,
out IntVector  newSizeOnGrid 
)
virtual

Implementations should override this so that the new logical scale and position is set based on the volume's transformation

Parameters
volume
newPositionOnGrid
newSizeOnGrid

Reimplemented in DungeonArchitect.Builders.Grid.GridDungeonBuilder.

Definition at line 150 of file DungeonBuilder.cs.


The documentation for this class was generated from the following file: