28class TickingAreasManager {
36 enum class AreaLimitCheck :
int {
39 ActiveAndPendingStandalone = 2,
46 ::ll::TypedStorage<8, 16, ::mce::UUID> mUuid;
47 ::ll::TypedStorage<8, 32, ::std::string> mName;
48 ::ll::TypedStorage<4, 48, ::Bounds> mBounds;
49 ::ll::TypedStorage<1, 1, bool> mFinishedLoading;
50 ::ll::TypedStorage<1, 1, bool> mIsActive;
66 using ActivePerDimension = ::std::map<::DimensionType, ::std::shared_ptr<::TickingAreaList>>;
68 using PendingPerDimension = ::std::unordered_map<::DimensionType, ::std::vector<::PendingArea>>;
73 ::ll::TypedStorage<8, 16, ::std::map<::DimensionType, ::std::shared_ptr<::TickingAreaList>>> mActiveAreas;
74 ::ll::TypedStorage<8, 64, ::std::unordered_map<::DimensionType, ::std::vector<::PendingArea>>> mPendingAreas;
75 ::ll::TypedStorage<1, 1, bool> mIsPreloadDone;
76 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LevelStorage>
const> mLevelStorage;
77 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPostReloadActorAdded;
78 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnCanStartGameSaveTimerCheckSubscription;
83 TickingAreasManager();
90 MCAPI ::AddTickingAreaStatus _addArea(
92 ::std::string
const& name,
95 ::TickingAreasManager::AreaLimitCheck limitCheck,
97 ::TickingAreaLoadMode loadMode,
101 MCAPI ::std::vector<::TickingAreaDescription> _getPendingAreaDescriptionsFiltered(
106 MCAPI
void _postReloadActorAdded(
::Actor& actor);
110 MCAPI
void addEntityArea(
115 float maxDistToPlayers,
119 MCAPI
void addTickingAreaListForDimension(
121 ::std::shared_ptr<::TickingAreaList>
const& tickingAreaList
124 MCAPI ::TickingAreasManager::ScopedContext addTransientScopedArea(
126 ::std::string
const& name,
132 MCAPI uint countStandaloneTickingAreas()
const;
138 MCAPI ::std::vector<::TickingAreaDescription>
141 MCAPI ::std::vector<::TickingAreaDescription>
144 MCAPI
void removeScopedAreas(::std::vector<::mce::UUID>
const& uuids);
146 MCAPI ::std::vector<::TickingAreaDescription> setPendingAreaLoadModeByName(
148 ::std::string
const& name,
149 ::TickingAreaLoadMode loadMode,
153 MCAPI ::std::vector<::TickingAreaDescription> setPendingAreaLoadModeByPosition(
156 ::TickingAreaLoadMode loadMode,
171 MCAPI static ::TickingAreasManager::AreaLimitCheck getLimitCheck(
::Level const& level,
bool enforce);
Definition TickingAreasManager.h:42