Dungeon Generator  1.6.6
Procedural 3D dungeon generator plugin for Unreal Engine 5. Easy generation of levels, mini-maps and missions.
FDungeonMeshSet Struct Reference

#include <DungeonMeshSet.h>

Public Member Functions

const FDungeonMeshPartsWithDirectionSelectFloorParts (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const uint8 neighborMask6) const
 
EDungeonPartsSelectionMethod GetFloorPartsSelectionMethod () const noexcept
 
EDungeonSelectionPolicy GetFloorPartsSelectionPolicy () const noexcept
 
int32 GetFloorPartsCount () const noexcept
 
const FDungeonMeshPartsWithDirectionGetFloorPartsAt (const int32 index) const
 
template<typename Function >
void EachFloorParts (Function &&function) const
 
const FDungeonMeshPartsSelectWallPartsByGrid (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const uint8 neighborMask6) const
 
int32 GetWallPartsCount () const noexcept
 
const FDungeonMeshPartsGetWallPartsAt (const int32 index) const
 
const FDungeonMeshPartsSelectWallPartsByFace (const FIntVector &gridLocation, const dungeon::Direction &direction) const
 
template<typename Function >
void EachWallParts (Function &&function) const
 
const FDungeonMeshPartsWithDirectionSelectRoofParts (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const uint8 neighborMask6) const
 
EDungeonPartsSelectionMethod GetRoofPartsSelectionMethod () const noexcept
 
EDungeonSelectionPolicy GetRoofPartsSelectionPolicy () const noexcept
 
int32 GetRoofPartsCount () const noexcept
 
const FDungeonMeshPartsWithDirectionGetRoofPartsAt (const int32 index) const
 
template<typename Function >
void EachRoofParts (Function &&function) const
 
const FDungeonMeshPartsSelectSlopeParts (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const uint8 neighborMask6) const
 
EDungeonPartsSelectionMethod GetSlopePartsSelectionMethod () const noexcept
 
EDungeonSelectionPolicy GetSlopePartsSelectionPolicy () const noexcept
 
int32 GetSlopePartsCount () const noexcept
 
const FDungeonMeshPartsGetSlopePartsAt (const int32 index) const
 
template<typename Function >
void EachSlopeParts (Function &&function) const
 
const FDungeonMeshPartsSelectCatwalkParts (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const uint8 neighborMask6) const
 
EDungeonPartsSelectionMethod GetCatwalkPartsSelectionMethod () const noexcept
 
EDungeonSelectionPolicy GetCatwalkPartsSelectionPolicy () const noexcept
 
int32 GetCatwalkPartsCount () const noexcept
 
const FDungeonMeshPartsGetCatwalkPartsAt (const int32 index) const
 
template<typename Function >
void EachCatwalkParts (Function &&function) const
 
const FDungeonRandomActorPartsSelectChandelierParts (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const uint8 neighborMask6) const
 
EDungeonPartsSelectionMethod GetChandelierPartsSelectionMethod () const noexcept
 
EDungeonSelectionPolicy GetChandelierPartsSelectionPolicy () const noexcept
 
int32 GetChandelierPartsCount () const noexcept
 
const FDungeonRandomActorPartsGetChandelierPartsAt (const int32 index) const
 
float GetChandelierMinSpacing () const noexcept
 
float GetChandelierMinCeilingHeight () const noexcept
 
float GetChandelierRadius () const noexcept
 
float GetChandelierWallWeight () const noexcept
 
float GetChandelierCombatWeight () const noexcept
 
EDungeonPartsSelectionMethod GetWallPartsSelectionMethod () const noexcept
 
EDungeonSelectionPolicy GetWallPartsSelectionPolicy () const noexcept
 
const UDungeonPartsSelectorGetDungeonPartsSelector () const noexcept
 
void MigrateSelectionPolicies ()
 
void MarkSelectionPoliciesMigrated () noexcept
 

Static Public Member Functions

static FDungeonRandomActorPartsSelectRandomActorParts (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const TArray< FDungeonRandomActorParts > &parts, const EDungeonSelectionPolicy selectionPolicy)
 
template<typename T = FDungeonMeshParts>
static T * SelectPartsByGrid (const size_t gridIndex, const dungeon::Grid &grid, const std::shared_ptr< dungeon::Random > &random, const TArray< T > &parts, const EDungeonSelectionPolicy selectionPolicy)
 
template<typename T = FDungeonMeshParts>
static T * SelectPartsByFace (const FIntVector &gridLocation, const dungeon::Direction &direction, const TArray< T > &parts)
 
template<typename T = FDungeonMeshParts, typename Function >
static void EachParts (const TArray< T > &parts, Function &&function)
 

Protected Attributes

TObjectPtr< UDungeonPartsSelectorDungeonPartsSelector
 
EDungeonSelectionPolicy FloorPartsSelectionPolicy = EDungeonSelectionPolicy::Random
 
EDungeonPartsSelectionMethod FloorPartsSelectionMethod = EDungeonPartsSelectionMethod::Random
 
TArray< FDungeonMeshPartsWithDirectionFloorParts
 
EDungeonSelectionPolicy WallPartsSelectionPolicy = EDungeonSelectionPolicy::Random
 
EDungeonPartsSelectionMethod WallPartsSelectionMethod = EDungeonPartsSelectionMethod::Random
 
TArray< FDungeonMeshPartsWallParts
 
EDungeonSelectionPolicy RoofPartsSelectionPolicy = EDungeonSelectionPolicy::Random
 
EDungeonPartsSelectionMethod RoofPartsSelectionMethod = EDungeonPartsSelectionMethod::Random
 
TArray< FDungeonMeshPartsWithDirectionRoofParts
 
EDungeonSelectionPolicy SlopePartsSelectionPolicy = EDungeonSelectionPolicy::Random
 
EDungeonPartsSelectionMethod SloopPartsSelectionMethod = EDungeonPartsSelectionMethod::Random
 
TArray< FDungeonMeshPartsSlopeParts
 
EDungeonSelectionPolicy CatwalkPartsSelectionPolicy = EDungeonSelectionPolicy::Random
 
EDungeonPartsSelectionMethod CatwalkPartsSelectionMethod = EDungeonPartsSelectionMethod::Random
 
TArray< FDungeonMeshPartsCatwalkParts
 
EDungeonSelectionPolicy ChandelierPartsSelectionPolicy = EDungeonSelectionPolicy::Random
 
EDungeonPartsSelectionMethod ChandelierPartsSelectionMethod = EDungeonPartsSelectionMethod::Random
 
TArray< FDungeonRandomActorPartsChandelierParts
 
float ChandelierMinSpacing = 700.f
 
float ChandelierMinCeilingHeight = 250.f
 
float ChandelierRadius = 150.f
 
float ChandelierWallWeight = 1.f
 
float ChandelierCombatWeight = 0.6f
 
bool bSelectionPoliciesMigrated = false
 

Friends

class UDungeonMeshSetDatabase
 

Detailed Description

Dungeon mesh set ダンジョンのメッシュセット

Member Function Documentation

◆ EachCatwalkParts()

template<typename Function >
void FDungeonMeshSet::EachCatwalkParts ( Function &&  function) const
inline

中二階通路パーツを更新します

◆ EachFloorParts()

template<typename Function >
void FDungeonMeshSet::EachFloorParts ( Function &&  function) const
inline

床パーツを更新します

◆ EachParts()

template<typename T = FDungeonMeshParts, typename Function >
static void FDungeonMeshSet::EachParts ( const TArray< T > &  parts,
Function &&  function 
)
inlinestatic

入力したparts配列を更新します

◆ EachRoofParts()

template<typename Function >
void FDungeonMeshSet::EachRoofParts ( Function &&  function) const
inline

天井パーツを更新します

◆ EachSlopeParts()

template<typename Function >
void FDungeonMeshSet::EachSlopeParts ( Function &&  function) const
inline

スロープパーツを更新します

◆ EachWallParts()

template<typename Function >
void FDungeonMeshSet::EachWallParts ( Function &&  function) const
inline

壁パーツを更新します

◆ GetWallPartsSelectionMethod()

EDungeonPartsSelectionMethod FDungeonMeshSet::GetWallPartsSelectionMethod ( ) const
inlinenoexcept

壁のパーツを選択する方法を取得します

◆ SelectCatwalkParts()

const FDungeonMeshParts * FDungeonMeshSet::SelectCatwalkParts ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const uint8  neighborMask6 
) const

中二階通路パーツを選択します

◆ SelectChandelierParts()

const FDungeonRandomActorParts * FDungeonMeshSet::SelectChandelierParts ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const uint8  neighborMask6 
) const

シャンデリアパーツを選択します

◆ SelectFloorParts()

const FDungeonMeshPartsWithDirection * FDungeonMeshSet::SelectFloorParts ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const uint8  neighborMask6 
) const

床パーツを選択します

◆ SelectPartsByFace()

template<typename T = FDungeonMeshParts>
static T* FDungeonMeshSet::SelectPartsByFace ( const FIntVector &  gridLocation,
const dungeon::Direction &  direction,
const TArray< T > &  parts 
)
inlinestatic

入力したparts配列から面に基づいて壁パーツを選択します

◆ SelectPartsByGrid()

template<typename T = FDungeonMeshParts>
static T* FDungeonMeshSet::SelectPartsByGrid ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const TArray< T > &  parts,
const EDungeonSelectionPolicy  selectionPolicy 
)
inlinestatic

入力したparts配列からグリッドに基づいて壁パーツを選択します

◆ SelectRandomActorParts()

FDungeonRandomActorParts * FDungeonMeshSet::SelectRandomActorParts ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const TArray< FDungeonRandomActorParts > &  parts,
const EDungeonSelectionPolicy  selectionPolicy 
)
static

入力したFDungeonRandomActorPartsからアクターベースのパーツを選択します

◆ SelectRoofParts()

const FDungeonMeshPartsWithDirection * FDungeonMeshSet::SelectRoofParts ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const uint8  neighborMask6 
) const

天井パーツを選択します

◆ SelectSlopeParts()

const FDungeonMeshParts * FDungeonMeshSet::SelectSlopeParts ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const uint8  neighborMask6 
) const

スロープパーツを選択します

◆ SelectWallPartsByFace()

const FDungeonMeshParts* FDungeonMeshSet::SelectWallPartsByFace ( const FIntVector &  gridLocation,
const dungeon::Direction &  direction 
) const
inline

面に基づいて壁パーツを選択します

◆ SelectWallPartsByGrid()

const FDungeonMeshParts * FDungeonMeshSet::SelectWallPartsByGrid ( const size_t  gridIndex,
const dungeon::Grid &  grid,
const std::shared_ptr< dungeon::Random > &  random,
const uint8  neighborMask6 
) const

グリッドに基づいて壁パーツを選択します

Member Data Documentation

◆ CatwalkParts

TArray<FDungeonMeshParts> FDungeonMeshSet::CatwalkParts
protected

Specify the catwalk parts. Multiple parts can be set and will be selected based on CatwalkPartsSelectionMethod. 中二階通路のパーツを指定して下さい。パーツは複数設定する事ができ、CatwalkPartsSelectionMethodを元に選択されます。

◆ CatwalkPartsSelectionPolicy

EDungeonSelectionPolicy FDungeonMeshSet::CatwalkPartsSelectionPolicy = EDungeonSelectionPolicy::Random
protected

How to select catwalk parts 中二階通路のパーツを選択する方法

◆ ChandelierCombatWeight

float FDungeonMeshSet::ChandelierCombatWeight = 0.6f
protected

Score weight that favors combat-center-like positions. 戦闘中心を想定した位置を評価するスコア重みです。

◆ ChandelierMinCeilingHeight

float FDungeonMeshSet::ChandelierMinCeilingHeight = 250.f
protected

Minimum required ceiling height for chandelier placement. シャンデリア配置に必要な最小天井高です。

◆ ChandelierMinSpacing

float FDungeonMeshSet::ChandelierMinSpacing = 700.f
protected

Minimum spacing between spawned chandeliers. シャンデリア同士の最小間隔です。

◆ ChandelierParts

TArray<FDungeonRandomActorParts> FDungeonMeshSet::ChandelierParts
protected

Chandelier parts list used for fixture spawning. シャンデリア生成に使用するパーツ一覧です。

◆ ChandelierPartsSelectionPolicy

EDungeonSelectionPolicy FDungeonMeshSet::ChandelierPartsSelectionPolicy = EDungeonSelectionPolicy::Random
protected

How to select chandelier parts シャンデリアのパーツを選択する方法

◆ ChandelierRadius

float FDungeonMeshSet::ChandelierRadius = 150.f
protected

Collision probe radius for chandelier spawn checks. シャンデリア配置時の衝突確認半径です。

◆ ChandelierWallWeight

float FDungeonMeshSet::ChandelierWallWeight = 1.f
protected

Score weight that favors candidates farther from walls. 壁からの距離を評価するスコア重みです。

◆ DungeonPartsSelector

TObjectPtr<UDungeonPartsSelector> FDungeonMeshSet::DungeonPartsSelector
protected

How to select floor parts 床のパーツを選択する方法

◆ FloorParts

TArray<FDungeonMeshPartsWithDirection> FDungeonMeshSet::FloorParts
protected

Specify the floor parts. Multiple parts can be set and will be selected based on FloorPartsSelectionMethod. 床のパーツを指定して下さい。パーツは複数設定する事ができ、FloorPartsSelectionMethodを元に選択されます。

◆ RoofParts

TArray<FDungeonMeshPartsWithDirection> FDungeonMeshSet::RoofParts
protected

Specify the roof parts. Multiple parts can be set and will be selected based on RoofPartsSelectionMethod. 天井のパーツを指定して下さい。パーツは複数設定する事ができ、RoofPartsSelectionMethodを元に選択されます。

◆ RoofPartsSelectionPolicy

EDungeonSelectionPolicy FDungeonMeshSet::RoofPartsSelectionPolicy = EDungeonSelectionPolicy::Random
protected

How to select roof parts 天井のパーツを選択する方法

◆ SlopeParts

TArray<FDungeonMeshParts> FDungeonMeshSet::SlopeParts
protected

Specify parts for stairs and ramps. Multiple parts can be set and will be selected based on the SloopPartsSelectionMethod. 階段やスロープのパーツを指定して下さい。パーツは複数設定する事ができ、SloopPartsSelectionMethodを元に選択されます。

◆ SlopePartsSelectionPolicy

EDungeonSelectionPolicy FDungeonMeshSet::SlopePartsSelectionPolicy = EDungeonSelectionPolicy::Random
protected

How to generate parts for stairs and ramps 階段やスロープの部品を生成する方法

◆ WallParts

TArray<FDungeonMeshParts> FDungeonMeshSet::WallParts
protected

Specify the wall parts. Multiple parts can be set and will be selected based on WallPartsSelectionMethod. 壁のパーツを指定して下さい。パーツは複数設定する事ができ、WallPartsSelectionMethodを元に選択されます。

◆ WallPartsSelectionPolicy

EDungeonSelectionPolicy FDungeonMeshSet::WallPartsSelectionPolicy = EDungeonSelectionPolicy::Random
protected

How to select wall parts 壁のパーツを選択する方法


The documentation for this struct was generated from the following files: