Space Plunder
Loading...
Searching...
No Matches
DungeonRoom.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Data/DungeonEnums.h"
7#include "UObject/Interface.h"
8#include "DungeonRoom.generated.h"
9
10// This class does not need to be modified.
11UINTERFACE(NotBlueprintable)
12class UDungeonRoom : public UInterface
13{
14 GENERATED_BODY()
15};
16
20class PROCEDURALDUNGEONS_API IDungeonRoom
21{
22 GENERATED_BODY()
23
24public:
25
26 UFUNCTION(BlueprintCallable, Category="Dungeon")
27 virtual USceneComponent* GetExitsRootComponent() const = 0;
28 UFUNCTION(BlueprintCallable, Category="Dungeon")
29 virtual int32 GetNumOfExits() const = 0;
30
31 // Data About Room
32 UFUNCTION(BlueprintCallable, Category="Dungeon|Data")
33 virtual FBox GetRoomBounds() const = 0;
34 UFUNCTION(BlueprintCallable, Category="Dungeon|Data")
35 virtual EDungeonRoomType GetRoomType() const = 0;
36
37 UFUNCTION(BlueprintCallable, Category="Dungeon")
38 virtual USceneComponent* GetOverlapsRootComponent() const = 0;
39 UFUNCTION(BlueprintCallable, Category="Dungeon")
40 virtual USceneComponent* GetAISpawnsRootComponent() const = 0;
41 UFUNCTION(BlueprintCallable, Category="Dungeon")
42 virtual USceneComponent* GetWeaponSpawnsRootComponent() const = 0;
43 UFUNCTION(BlueprintCallable, Category="Dungeon")
44 virtual USceneComponent* GetLootSpawnsRootComponent() const = 0;
45 UFUNCTION(BlueprintCallable, Category="Dungeon")
46 virtual USceneComponent* GetDoorsRootComponent() const = 0;
47 UFUNCTION(BlueprintCallable, Category="Dungeon")
48 virtual bool GetShouldRoomSpawnDoorAtEntry(const FRandomStream& Stream) const = 0;
50 UFUNCTION(BlueprintCallable, Category="Dungeon")
51 virtual void SetRandomStream(const FRandomStream& Stream) = 0;
52 UFUNCTION(BlueprintCallable, Category="Dungeon")
53 virtual void AddAttachedRoom(AActor* RoomActor) = 0;
54 UFUNCTION(BlueprintCallable, Category="Dungeon")
55 virtual void SetDynamicMaterial(UMaterialInterface* Material) = 0;
56 // UFUNCTION(BlueprintCallable, Category="Dungeon")
57 // virtual void AddAttachedRoomFromExit(USceneComponent* Exit) = 0;
58
59 UFUNCTION(BlueprintCallable, Category="Dungeon")
60 virtual void SetReady() = 0;
61
62
63 //- Optimization Functions //
64 UFUNCTION(BlueprintCallable, Category="Dungeon|Optimization")
65 virtual void SetOptimizationLevel(const int32 Level) = 0;
66 UFUNCTION(BlueprintCallable, Category="Dungeon|Optimization")
67 virtual void SetActive(const bool bActive) = 0;
68
69
70
71 //- Debug Functions //
72 UFUNCTION(BlueprintCallable, Category="Dungeon|Debug")
73 virtual void ToggleAllRoomRoofs(const bool bForceHide) = 0;
74};
EDungeonRoomType
Definition DungeonEnums.h:11
Definition DungeonRoom.h:21
Definition DungeonRoom.h:13