UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MassSubsystemBase.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "MassTypeManager.h"
9#include "MassSubsystemBase.generated.h"
10
11#define UE_API MASSENTITY_API
12
14
15namespace UE::Mass
16{
17 namespace Subsystems
18 {
25
28 }
29}
30
35UCLASS(Abstract, config = Mass, defaultconfig, MinimalAPI)
37{
39
40public:
41 static UE_API bool AreRuntimeMassSubsystemsAllowed(UObject* Outer);
43
44protected:
45 //~USubsystem interface
46 UE_API virtual bool ShouldCreateSubsystem(UObject* Outer) const override;
48 UE_API virtual void PostInitialize() override;
49 UE_API virtual void Deinitialize() override;
50 UE_API virtual void OnWorldBeginPlay(UWorld& InWorld) override;
51 //~End of USubsystem interface
52
57 UE_API void HandleLateCreation();
58
63 template <UE::Mass::CSubsystem T>
65 {
66 UE::Mass::Subsystems::RegisterSubsystemType(Collection, T::StaticClass(), UE::Mass::FSubsystemTypeTraits::Make<T>());
67 }
68
74};
75
80UCLASS(Abstract, config = Mass, defaultconfig, MinimalAPI)
82{
84
85public:
87
88protected:
89 //~USubsystem interface
90 UE_API virtual bool ShouldCreateSubsystem(UObject* Outer) const override;
92 UE_API virtual void PostInitialize() override;
93 UE_API virtual void Deinitialize() override;
94 UE_API virtual void OnWorldBeginPlay(UWorld& InWorld) override;
95 //~End of USubsystem interface
96
101 template <UE::Mass::CSubsystem T>
103 {
104 UE::Mass::Subsystems::RegisterSubsystemType(Collection, T::StaticClass(), UE::Mass::FSubsystemTypeTraits::Make<T>());
105 }
106
111 UE_API void HandleLateCreation();
112
113private:
119};
120
121#undef UE_API
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition MassSubsystemBase.h:11
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition SubsystemCollection.h:15
Definition SharedPointer.h:153
Definition SubclassOf.h:30
Definition MassSubsystemBase.h:37
void OverrideSubsystemTraits(FSubsystemCollectionBase &Collection)
Definition MassSubsystemBase.h:64
UE::Mass::Subsystems::FInitializationState InitializationState
Definition MassSubsystemBase.h:73
UE::Mass::Subsystems::FInitializationState GetInitializationState() const
Definition MassSubsystemBase.h:42
Definition MassSubsystemBase.h:82
void OverrideSubsystemTraits(FSubsystemCollectionBase &Collection)
Definition MassSubsystemBase.h:102
UE::Mass::Subsystems::FInitializationState GetInitializationState() const
Definition MassSubsystemBase.h:86
Definition Object.h:95
Definition WorldSubsystem.h:76
Definition WorldSubsystem.h:16
Definition World.h:918
void RegisterSubsystemType(TSharedRef< FMassEntityManager > EntityManager, TSubclassOf< USubsystem > SubsystemClass, FSubsystemTypeTraits &&Traits)
Definition MassSubsystemBase.cpp:15
Definition MassArchetypeData.h:21
Definition MassEntityManager.h:96
Definition MassTypeManager.h:76
Definition MassSubsystemBase.h:20
uint8 bPostInitializeCalled
Definition MassSubsystemBase.h:22
uint8 bOnWorldBeginPlayCalled
Definition MassSubsystemBase.h:23
uint8 bInitializeCalled
Definition MassSubsystemBase.h:21