Segment.lua¶
Functions¶
segment.new¶
no description
Parameters:
| Name | Type | Description |
|---|---|---|
instance |
LibLegelGen.Instance |
no description |
Returns: LibLevelGen.Segment
segment.createRandLinkedRoomParameterCombinations¶
segment.createRandLinkedRoomParameterCombinations(parameters: LibLevelGen.RoomGenCombinations): LibLevelGen.RoomGenCombination[]
no description
Parameters:
| Name | Type | Description |
|---|---|---|
parameters |
LibLevelGen.RoomGenCombinations |
no description |
Returns: LibLevelGen.RoomGenCombination[]
Classes¶
LibLevelGen.RoomGenCombination¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
direction |
number |
no description |
corridorEntrance |
number |
no description |
corridorExit |
number |
no description |
corridorThickness |
number |
no description |
corridorLength |
number |
no description |
roomWidth |
number |
no description |
roomHeight |
number |
no description |
clearCorridor |
boolean |
no description |
entranceTileChances |
table<string,number> |
no description |
exitTileChances |
table<string,number> |
no description |
LibLevelGen.RoomGenCombinations¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
direction |
number[] |
no description |
corridorEntrance |
number[] |
no description |
corridorExit |
number[] |
no description |
corridorThickness |
number[] |
no description |
corridorLength |
number[] |
no description |
roomWidth |
number[] |
no description |
roomHeight |
number[] |
no description |
clearCorridor |
boolean |
no description |
entranceTileChances |
table<string,number> |
no description |
exitTileChances |
table<string,number> |
no description |
LibLegelGen.RoomGenResult¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
axis |
number |
no description |
corridorX |
number |
no description |
corridorY |
number |
no description |
roomCorridorX |
number |
no description |
roomCorridorY |
number |
no description |
combination |
LibLevelGen.RoomGenCombination |
no description |
LibLevelGen.TileData¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
tileset |
string |
no description |
type |
string |
no description |
LibLevelGen.PaddingExtraTileData extends LibLevelGen.TileData¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
tileset |
string |
no description |
type |
string |
no description |
ratio |
number |
no description |
LibLevelGen.PaddingData¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
mainTile |
LibLevelGen.TileData |
no description |
extraTiles |
LibLevelGen.PaddingExtraTileData[] |
no description |
count |
number |
no description |
LibLevelGen.Rect¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
x |
number |
no description |
y |
number |
no description |
w |
number |
no description |
h |
number |
no description |
LibLevelGen.Segment¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
instance |
LibLegelGen.Instance The instance that created this segment. |
no description |
rooms |
LibLevelGen.Room[] Rooms within this segment. |
no description |
padding |
table Wall padding that's applied to rooms when serializing the segment. |
no description |
tileset |
string The default tileset that's used if not specified |
no description |
roomBorder |
string Tile type that's used for walls in newly created rooms. |
no description |
corridorBorder |
string Tile type that's used for walls in newly created corridors. |
no description |
chestsLeft |
number chests that have yet to be placed. |
no description |
cratesLeft |
number of crates that have yet to be placed. |
no description |
forceSecretRoomBomb |
boolean Determines whether 1st secret room will be forcefully filled with a bomb (used when locked shop spawns) |
no description |
Methods:
LibLevelGen.Segment.setNumberOfChests¶
no description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description chestsnumberno description
LibLevelGen.Segment.setNumberOfCrates¶
no description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description cratesnumberno description
LibLevelGen.Segment.setTileset¶
no description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description tilesetNamestringno description
LibLevelGen.Segment.setRoomBorder¶
no description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description roomBorderstringno description
LibLevelGen.Segment.setCorridorBorder¶
no description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description corridorBorderstringno description
LibLevelGen.Segment.setPadding¶
no description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description dataLibLevelGen.PaddingDatano description
LibLevelGen.Segment.getRandomPaddingTile¶
getRandomPaddingTile(self: LibLevelGen.Segment, padding: LibLevelGen.PaddingData): LibLevelGen.TileDatano description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description paddingLibLevelGen.PaddingDatano description Returns:
LibLevelGen.TileData
LibLevelGen.Segment.createRoom¶
createRoom(self: LibLevelGen.Segment, x: number, y: number, w: number, h: number, flags: number?): LibLevelGen.Roomno description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description xnumberno description ynumberno description wnumberno description hnumberno description flagsnumber?no description Returns:
LibLevelGen.Room
LibLevelGen.Segment.createStartingRoom¶
Creates a starting room.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description Returns:
LibLevelGen.Room
LibLevelGen.Segment.placeWallTorches¶
Places specified amount of torches in rooms that allow it.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description torchesPerRoomnumberno description
LibLevelGen.Segment.selectRooms¶
Select rooms that match the given flags.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description flagsnumberno description Returns:
LibLevelGen.Room[]
LibLevelGen.Segment.iterateRooms¶
Call the specified callback function for every room that matches the given flags.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description flagsnumberno description clbfun(room: LibLevelGen.Room)no description
LibLevelGen.Segment.randomlyConvertTiles¶
randomlyConvertTiles(self: LibLevelGen.Segment, sourceType: string, targetType: string, ratio: number): voidRandomly convert tiles from sourceType to targetType in rooms that allow tile conversions. Chance to convert a given tile is specified by ratio.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description sourceTypestringno description targetTypestringno description rationumberno description
LibLevelGen.Segment.createRandLinkedRoom¶
createRandLinkedRoom(self: LibLevelGen.Segment, roomToLink: LibLevelGen.Room, rotateRoom: boolean, orgCombinations: LibLevelGen.RoomGenCombination[]): LibLevelGen.Room newCorridor, LibLevelGen.Room newRoom, LibLegelGen.RoomGenResult resultno description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description roomToLinkLibLevelGen.Roomno description rotateRoombooleanno description orgCombinationsLibLevelGen.RoomGenCombination[]no description Returns:
LibLevelGen.Room newCorridor, LibLevelGen.Room newRoom, LibLegelGen.RoomGenResult result
LibLevelGen.Segment.createLinkedRoom¶
createLinkedRoom(self: LibLevelGen.Segment, roomToLink: LibLevelGen.Room, axis: number, corridorX: number, corridorY: number, corridorW: number, corridorH: number, roomCorridorX: number, roomCorridorY: number, roomW: number, roomH: number): LibLevelGen.Room newCorridor, LibLevelGen.Room newRoomno description
Parameters:
Name Type Description selfLibLevelGen.Segmentno description roomToLinkLibLevelGen.Roomno description axisnumberno description corridorXnumberno description corridorYnumberno description corridorWnumberno description corridorHnumberno description roomCorridorXnumberno description roomCorridorYnumberno description roomWnumberno description roomHnumberno description Returns:
LibLevelGen.Room newCorridor, LibLevelGen.Room newRoom
LibLevelGen.Segment.rectOverlapsWithAnyRoom¶
Checks whether the given rect overlaps with any room, and returns the 1st room that overlapped.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description rectLibLevelGen.Rectno description Returns:
LibLevelGen.Room | nil
LibLevelGen.Segment.rectOverlappedRooms¶
Return all rooms that overlap with the given rect.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description rectLibLevelGen.Rectno description Returns:
LibLevelGen.Room[]
LibLevelGen.Segment.rectInBounds¶
Check whether the given rect is within bounds of the segment.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description rectLibLevelGen.Rectno description boundsnumber[]no description Returns:
boolean
LibLevelGen.Segment.findBetweenRoomRects¶
findBetweenRoomRects(self: LibLevelGen.Segment, minWidth: number, minHeight: number): LibLevelGen.OverlappedRect[]Find rects between rooms of the segment, of minimum width and height.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description minWidthnumberno description minHeightnumberno description Returns:
LibLevelGen.OverlappedRect[]
LibLevelGen.Segment.beetweenRoomRectSidesWithAdjecentRooms¶
beetweenRoomRectSidesWithAdjecentRooms(self: LibLevelGen.Segment, betweenRoomRect: LibLevelGen.OverlappedRect): booleanCounts how many sides of an overlappedRect are adjacent to a room, including other overlapped rects.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description betweenRoomRectLibLevelGen.OverlappedRectno description Returns:
boolean
LibLevelGen.Segment.beetweenRoomRectAdjecentFakeRooms¶
beetweenRoomRectAdjecentFakeRooms(self: LibLevelGen.Segment, betweenRect: LibLevelGen.OverlappedRect): numberCounts how many "fake rooms" (other overlapped rects) are adjacent to this overlapped rect.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description betweenRectLibLevelGen.OverlappedRectno description Returns:
number
LibLevelGen.Segment.determineBounds¶
Detemine bounds of the segment.
Parameters:
Name Type Description selfLibLevelGen.Segmentno description Returns:
number[]
LibLevelGen.Overlaps¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
top |
LibLevelGen.Room[] |
no description |
bottom |
LibLevelGen.Room[] |
no description |
left |
LibLevelGen.Room[] |
no description |
right |
LibLevelGen.Room[] |
no description |
LibLevelGen.OverlappedRect extends LibLevelGen.Rect¶
no description
Properties:
| Name | Type | Description |
|---|---|---|
x |
number |
no description |
y |
number |
no description |
w |
number |
no description |
h |
number |
no description |
overlaps |
LibLevelGen.Overlaps |
no description |