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

#include <DungeonInteriorDecorator.h>

Public Member Functions

 FDungeonInteriorDecorator ()=default
 
 FDungeonInteriorDecorator (UDungeonInteriorDatabase *asset, const std::shared_ptr< CDungeonInteriorGenerationExclusionVolume > &unplaceableBounds, const std::shared_ptr< dungeon::Random > &synchronizedRandom, const FVector2D &gridSize)
 
virtual ~FDungeonInteriorDecorator ()
 
bool IsValid () const noexcept
 
UDungeonInteriorDatabaseGetAsset ()
 
const UDungeonInteriorDatabaseGetAsset () const
 
void ResetExclusionBounds (const std::shared_ptr< CDungeonInteriorGenerationExclusionVolume > &interiorExclusionBounds)
 
std::shared_ptr< CDungeonInteriorGenerationExclusionVolumeGetExclusionBounds () const noexcept
 
bool IntersectExclusionBounds (const FBox &bounds) const
 
bool IsInsideOrOnExclusionBounds (const FVector &location) const
 
void ClearDecorationLocation (const std::shared_ptr< CDungeonInteriorGenerationExclusionVolume > &interiorExclusionBounds=nullptr)
 
void AddDecorationLocation (const FVector &location, const double yaw)
 
size_t GetDecorationLocationSize () const noexcept
 
void ShuffleDecorationLocation ()
 
void TrySpawnActors (UWorld *world, const FString &folderPath, const TArray< FString > &tags, const bool hasAuthority)
 
void TrySpawnActor (const AActor *baseActor, const FString &folderPath)
 
void TrySpawnVegetation (ADungeonGenerateBase *ownerActor, const TArray< FString > &tags, const bool isSlopeGrid) const
 
TArray< FDungeonInteriorPartsSelect (const TArray< FString > &interiorTags) const
 
void AddDecorationBounds (const FBox &decorationBounds)
 
std::shared_ptr< FDungeonInteriorDecoratorCreateInteriorDecorator (const FBox &placeableBounds) const
 

Protected Attributes

TObjectPtr< UDungeonInteriorDatabaseAsset
 

Detailed Description

Interior decorator class ダンジョン内装装飾

http://www.archmagerises.com/news/2021/6/12/how-to-procedurally-generate-and-decorate-3d-dungeon-rooms-in-unity-c

interior filter tags room: aisle, slope, hall, hanare, start, goal location: center, wall, roof priority: major

Constructor & Destructor Documentation

◆ FDungeonInteriorDecorator() [1/2]

FDungeonInteriorDecorator::FDungeonInteriorDecorator ( )
default

constructor

◆ FDungeonInteriorDecorator() [2/2]

FDungeonInteriorDecorator::FDungeonInteriorDecorator ( UDungeonInteriorDatabase asset,
const std::shared_ptr< CDungeonInteriorGenerationExclusionVolume > &  unplaceableBounds,
const std::shared_ptr< dungeon::Random > &  synchronizedRandom,
const FVector2D &  gridSize 
)

constructor

Author
Shun Moriya

◆ ~FDungeonInteriorDecorator()

FDungeonInteriorDecorator::~FDungeonInteriorDecorator ( )
virtual

destructor

Member Function Documentation

◆ AddDecorationLocation()

void FDungeonInteriorDecorator::AddDecorationLocation ( const FVector &  location,
const double  yaw 
)

内装位置を追加します

◆ ClearDecorationLocation()

void FDungeonInteriorDecorator::ClearDecorationLocation ( const std::shared_ptr< CDungeonInteriorGenerationExclusionVolume > &  interiorExclusionBounds = nullptr)

内装位置をクリアして新たな生成禁止範囲を設定します

◆ CreateInteriorDecorator()

std::shared_ptr< FDungeonInteriorDecorator > FDungeonInteriorDecorator::CreateInteriorDecorator ( const FBox &  placeableBounds) const

Extract DecorationLocation in bounds 装飾位置の抽出

◆ GetAsset()

UDungeonInteriorDatabase * FDungeonInteriorDecorator::GetAsset ( )

データベースを取得します

◆ GetDecorationLocationSize()

size_t FDungeonInteriorDecorator::GetDecorationLocationSize ( ) const
noexcept

内装位置の登録されているサイズを取得します

◆ GetExclusionBounds()

std::shared_ptr< CDungeonInteriorGenerationExclusionVolume > FDungeonInteriorDecorator::GetExclusionBounds ( ) const
noexcept

生成禁止範囲を取得します

◆ IntersectExclusionBounds()

bool FDungeonInteriorDecorator::IntersectExclusionBounds ( const FBox &  bounds) const

生成禁止範囲と交差しているか調べます

◆ IsInsideOrOnExclusionBounds()

bool FDungeonInteriorDecorator::IsInsideOrOnExclusionBounds ( const FVector &  location) const

生成禁止範囲に含まれているか調べます

◆ IsValid()

bool FDungeonInteriorDecorator::IsValid ( ) const
noexcept

check valid

◆ ResetExclusionBounds()

void FDungeonInteriorDecorator::ResetExclusionBounds ( const std::shared_ptr< CDungeonInteriorGenerationExclusionVolume > &  interiorExclusionBounds)

生成禁止範囲をリセットします

◆ Select()

TArray< FDungeonInteriorParts > FDungeonInteriorDecorator::Select ( const TArray< FString > &  interiorTags) const

Selects FDungeonInteriorParts that match interiorTags interiorTagsに一致するFDungeonInteriorPartsを選択します。

◆ ShuffleDecorationLocation()

void FDungeonInteriorDecorator::ShuffleDecorationLocation ( )

内装位置をシャッフルします サーバーとクライアントが同じ回数を呼ぶように注意して下さい

◆ TrySpawnActor()

void FDungeonInteriorDecorator::TrySpawnActor ( const AActor *  baseActor,
const FString &  folderPath 
)

Generate interior actor for the UDungeonInteriorLocationComponent owned by the baseActor. baseActorが所有するUDungeonInteriorLocationComponentに内装アクタを生成します

◆ TrySpawnActors()

void FDungeonInteriorDecorator::TrySpawnActors ( UWorld *  world,
const FString &  folderPath,
const TArray< FString > &  tags,
const bool  hasAuthority 
)

Spawns an actor at the added decoration position. Decoration positions that have been successfully spawned are deleted.

追加された装飾位置にアクタをスポーンします。 スポーンに成功した装飾位置は削除されます。

◆ TrySpawnVegetation()

void FDungeonInteriorDecorator::TrySpawnVegetation ( ADungeonGenerateBase ownerActor,
const TArray< FString > &  tags,
const bool  isSlopeGrid 
) const

Spawn vegetation mesh 植生メッシュをスポーンします

Author
Shun Moriya

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