47 using MovementSystemCategory = ::entt::
48 type_list<::EntitySystems::UsedInServerPlayerMovement, ::EntitySystems::UsedInClientMovementCorrections>;
52 using SystemInvokeCallbackPair =
57 using TotalTickCallbackFunc = ::std::function<void()>;
59 using TotalTickCallbackPair = ::std::pair<::std::function<void()>, ::std::function<void()>>;
61 using TotalTickCallbackSig = void();
66 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PlayerInteractionSystem>> mPlayerInteractionSystem;
67 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IEntitySystemsCollection>> mSystems;
68 ::ll::TypedStorage<8, 16, ::OwnerPtr<::EcsEventDispatcher>> mDispatcher;
69 ::ll::TypedStorage<8, 32, ::std::string> mName;
70 ::ll::TypedStorage<1, 1, bool> mEnableTimingCapture;
71 ::ll::TypedStorage<8, 64, ::std::function<void()>> mPreTotalTick;
72 ::ll::TypedStorage<8, 64, ::std::function<void()>> mPostTotalTick;
73 ::ll::TypedStorage<8, 64, ::std::function<void(
::TickingSystemId)>> mPreSystemInvoke;
74 ::ll::TypedStorage<8, 64, ::std::function<void(
::TickingSystemId)>> mPostSystemInvoke;
75 ::ll::TypedStorage<8, 8, ::Bedrock::Profiler::details::PredeclaredAnnotation> mTickingAnnotation;
85 virtual ~EntitySystems() =
default;
91 virtual void registerTickingSystem(
93 ::std::unique_ptr<::ITickingSystem> system,
104 MCAPI EntitySystems(::std::unique_ptr<::IEntitySystemsCollection> systems, ::std::string_view name);
110 setSystemInvokeCallbacks(
115 MCAPI ::std::pair<::std::function<void()>, ::std::function<void()>>
116 setTotalTickCallbacks(::std::function<
void()>&& preTick, ::std::function<
void()>&& postTick);
129 MCAPI
void* $ctor(::std::unique_ptr<::IEntitySystemsCollection> systems, ::std::string_view name);
139 MCAPI
void $registerTickingSystem(
141 ::std::unique_ptr<::ITickingSystem> system,