Added a blueprint node to select a random room with weights (non-uniform random).
Added dungeon limits for room placement. If set, rooms will not be placed outside of the limits.
Added a Static Room Visibility component with reduced computation over the non-static one (used for directly placed actors in room levels that will never go out of it at runtime).
Directly placed actors in room levels with the tag Ignore Room Culling will be ignored by the room level (before, only replicated actors were ignored). You can use a (Static) Room Visibility component to manage their visibility instead.
Can now tweak the max generation tries and max room placement tries in the plugin's settings.
Added accessor to generator's Rooms variable in C++ outside of child classes.
The door debug box (blue) will now turn orange if multiple doors are on the same place.
Now the RoomData's level will be automatically filled if empty when the data is selected in the Dungeon Room Editor mode.
Added an On Fail To Add Room event, called after exhausted all tries of placing a room without success.
Added a Cleanup Room function in Room Data class as a counterpart of the Initialize Room one.
Fixes:
Crash when running in new PIE window in 'Play as Client' when a DungeonGenerator actor is in the launched level.
Fixed missing call to On Room Added event for the first room.
Fixed RootComponent of door actors to be able to edit them in editor.
Fixed door actors so that they always spawn, regardless of the actor's parameter.
New features:
Static Room Visibility
component with reduced computation over the non-static one (used for directly placed actors in room levels that will never go out of it at runtime).Ignore Room Culling
will be ignored by the room level (before, only replicated actors were ignored). You can use a(Static) Room Visibility
component to manage their visibility instead.Rooms
variable in C++ outside of child classes.RoomData
's level will be automatically filled if empty when the data is selected in the Dungeon Room Editor mode.On Fail To Add Room
event, called after exhausted all tries of placing a room without success.Cleanup Room
function inRoom Data
class as a counterpart of theInitialize Room
one.Fixes:
On Room Added
event for the first room.RootComponent
of door actors to be able to edit them in editor.