LeviLamina
Loading...
Searching...
No Matches
LevelEventCoordinator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
8#include "mc/gameplayhandlers/CoordinatorResult.h"
9#include "mc/world/actor/ActorInitializationMethod.h"
10#include "mc/world/events/EventCoordinator.h"
11#include "mc/world/events/EventRef.h"
12#include "mc/world/events/MutableLevelGameplayEvent.h"
13
14// auto generated forward declare list
15// clang-format off
16class Actor;
17class EntityContext;
18class GameRules;
23class WorldClock;
24// clang-format on
25
26class LevelEventCoordinator : public ::EventCoordinator<::LevelEventListener> {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LevelGameplayHandler>> mLevelGameplayHandler;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mGameRuleChangeSubscription;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnRemoveActorEntityReferencesSubscription;
33 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPostReloadActorAddedSubscription;
34 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserAddedSubscription;
35 // NOLINTEND
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~LevelEventCoordinator() /*override*/;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI void _onGameplayUserAdded(::EntityContext& entity);
47
48 MCAPI void _postReloadActorAdded(::Actor& actor, ::ActorInitializationMethod);
49
50 MCAPI void registerGameRules(::GameRules& gameRules);
51
52 MCAPI void registerWithActorManagerEvents(::IActorManagerConnector& actorManagerConnector, bool isClientSide);
53
54 MCAPI void registerWithGameplayUserManagerEvents(::IGameplayUserManagerConnector& gameplayUserManagerConnector);
55
56 MCAPI ::CoordinatorResult sendEvent(::EventRef<::MutableLevelGameplayEvent<::CoordinatorResult>> event);
57
58 MCAPI void sendLevelRemovedActor(::Actor& actor);
59
60 MCAPI void sendLevelWeatherChanged(
61 ::std::string const& dimension,
62 bool wasRaining,
63 bool wasLightning,
64 bool isRaining,
65 bool isLightning
66 );
67
68 MCAPI void sendWorldClockPaused(::Bedrock::NotNullNonOwnerPtr<::WorldClock> clock);
69
70 MCAPI void sendWorldClockResumed(::Bedrock::NotNullNonOwnerPtr<::WorldClock> clock);
71
72 MCAPI void
73 sendWorldClockTimeMarker(::Bedrock::NotNullNonOwnerPtr<::WorldClock> clock, ::std::string const& timeMarkerName);
74
75 MCAPI void sendWorldClockTimeModified(::Bedrock::NotNullNonOwnerPtr<::WorldClock> clock);
76 // NOLINTEND
77
78public:
79 // destructor thunk
80 // NOLINTBEGIN
81 MCAPI void $dtor();
82 // NOLINTEND
83
84public:
85 // vftables
86 // NOLINTBEGIN
87 MCNAPI static void** $vftable();
88 // NOLINTEND
89};
Definition Actor.h:113
Definition EntityContext.h:15
Definition EventCoordinator.h:7
Definition EventRef.h:6
Definition GameRules.h:21
Definition IActorManagerConnector.h:14
Definition IGameplayUserManagerConnector.h:14
Definition LevelEventCoordinator.h:26
static MCAPI void ** $vftable()
Definition LevelEventListener.h:18
Definition LevelGameplayHandler.h:13
Definition WorldClock.h:23
Definition MutableLevelGameplayEvent.h:9