#pragma once #include "CoreMinimal.h" #include "Subsystems/WorldSubsystem.h" #include "DescentWorldSubsystem.generated.h" /** * Base of every world subsystem of The Descent. It exists only in game worlds (play, PIE, -game, the test worlds * the automation tests create), never in the editor's own level-editing world: the Python asset scripts and the * editor viewport must not grow a sim, a HUD model or a terrain. * * A subsystem that registers sim steps in Initialize() declares the dependency first, so the sim exists: * Collection.InitializeDependency(); */ UCLASS(Abstract) class THEDESCENT_API UDescentWorldSubsystem : public UWorldSubsystem { GENERATED_BODY() public: virtual bool DoesSupportWorldType(const EWorldType::Type WorldType) const override { return WorldType == EWorldType::Game || WorldType == EWorldType::PIE; } };