3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/typeid_t.h"
8#include "mc/deps/ecs/systems/IEntitySystems.h"
9#include "mc/deps/game_refs/OwnerPtr.h"
47 using MovementSystemCategory = ::entt::
48 type_list<::EntitySystems::UsedInServerPlayerMovement, ::EntitySystems::UsedInClientMovementCorrections>;
52 using SystemInvokeCallbackPair =
60 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PlayerInteractionSystem>> mPlayerInteractionSystem;
61 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IEntitySystemsCollection>> mSystems;
62 ::ll::TypedStorage<8, 16, ::OwnerPtr<::EcsEventDispatcher>> mDispatcher;
63 ::ll::TypedStorage<8, 32, ::std::string> mName;
64 ::ll::TypedStorage<1, 1, bool> mEnableTimingCapture;
65 ::ll::TypedStorage<8, 64, ::std::function<void(
::TickingSystemId)>> mPreSystemInvoke;
66 ::ll::TypedStorage<8, 64, ::std::function<void(
::TickingSystemId)>> mPostSystemInvoke;
76 virtual ~EntitySystems() ;
82 virtual void registerTickingSystem(
84 ::std::unique_ptr<::ITickingSystem> system,
95 MCNAPI
EntitySystems(::std::unique_ptr<::IEntitySystemsCollection> systems, ::std::string name);
97 MCNAPI ::std::vector<::gsl::not_null<::SystemInfo const*>>
111 setSystemInvokeCallbacks(
122 MCNAPI
void*
$ctor(::std::unique_ptr<::IEntitySystemsCollection> systems, ::std::string name);
140 ::std::unique_ptr<::ITickingSystem> system,
Definition EnableNonOwnerReferences.h:7
Definition EcsEventDispatcher.h:23
Definition EntityRegistry.h:11
MCAPI ::std::vector<::gsl::not_null<::SystemInfo const * > > getSystemInfo(::Bedrock::typeid_t<::SystemCategory > const &filter) const
MCAPI void * $ctor(::std::unique_ptr<::IEntitySystemsCollection > systems, ::std::string name)
MCAPI void $registerTickingSystem(::gsl::span<::Bedrock::typeid_t<::SystemCategory > const > categories, ::std::unique_ptr<::ITickingSystem > system, ::SystemInfo const &info, ::EntitySystemTickingMode tickingMode)
MCAPI void registerMovementTickingSystem(::TickingSystemWithInfo &&system)
MCAPI bool $_hasSingleTickCategory(::Bedrock::typeid_t<::SystemCategory > const category) const
MCAPI void registerEditorOnlyTickingSystem(::TickingSystemWithInfo &&system)
MCAPI void $tickMovementCorrectionReplay(::EntityRegistry ®istry)
static MCAPI void ** $vftableForEnableNonOwnerReferences()
static MCAPI void ** $vftableForIEntitySystems()
MCAPI EntitySystems(::std::unique_ptr<::IEntitySystemsCollection > systems, ::std::string name)
MCAPI void registerTickingSystem(::TickingSystemWithInfo &&system)
MCAPI void registerGameOnlyTickingSystem(::TickingSystemWithInfo &&system)
MCAPI void $tickMovementCatchup(::EntityRegistry ®istry)
Definition IEntitySystems.h:17
Definition ITickingSystem.h:15
Definition PlayerInteractionSystem.h:12
Definition EntitySystemTickingMode.h:5
Definition EntitySystems.h:37
Definition EntitySystems.h:39
Definition EntitySystems.h:41
Definition EntitySystems.h:43
Definition EntitySystems.h:45
Definition IEntitySystemsCollection.h:21
Definition SystemCategory.h:5
Definition SystemInfo.h:14
Definition TickingSystemId.h:5
Definition TickingSystemWithInfo.h:13