Spelunky inspired dungeon cell builder with option to create connected cells from user defined side:
-
from TOP
-
from LEFT
-
from RIGHT
-
from BOTTOM
-
or randomly selected side, if rndStartSide is set to true
-
- class:
ProceduralDungeon
- properties:
- width
- height
- startSide ()
- rndStartSide
- add extended cell
- extended cell probability
- connect extended cell
- method:
- xyz.new(width,height)
- xyz.Build()
- xyz.Reset()
- result:
- is stored in 2D array of
DungeonCell
- is stored in 2D array of
- properties:
- class:
class DungeonCell:
var up:int = eSideType.EXIT
var right:int = eSideType.EXIT
var down:int = eSideType.EXIT
var left:int = eSideType.EXIT
var visited:int = 0
var cellType:int = eCellType.UNUSED_CELL
var nextCell:Vector2 = Vector2(0,0)
var currentCell:Vector2 = Vector2(0,0)
var prevCell:Vector2 = Vector2(0,0)
var userData:Dictionary = {}
RED - unused cell GREEN - main dungeon cells BLUE - randomly added extended cells