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/gameplayhandlers/CoordinatorResult.h"
7#include "mc/world/actor/ActorInitializationMethod.h"
8#include "mc/world/events/EventCoordinator.h"
9#include "mc/world/events/EventRef.h"
10#include "mc/world/events/LevelGameplayEvent.h"
11#include "mc/world/events/MutableLevelGameplayEvent.h"
12
13// auto generated forward declare list
14// clang-format off
15class Actor;
16class EntityContext;
17class GameRules;
22namespace Bedrock::PubSub { class Subscription; }
23// clang-format on
24
25class LevelEventCoordinator : public ::EventCoordinator<::LevelEventListener> {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LevelGameplayHandler>> mLevelGameplayHandler;
30 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mGameRuleChangeSubscription;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnRemoveActorEntityReferencesSubscription;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mPostReloadActorAddedSubscription;
33 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnGameplayUserAddedSubscription;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 // vIndex: 0
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 initializationMethod);
49
50 MCAPI void registerGameRules(::GameRules& gameRules);
51
52 MCFOLD void registerLevelGameplayHandler(::std::unique_ptr<::LevelGameplayHandler>&& handler);
53
54 MCAPI void registerWithActorManagerEvents(::IActorManagerConnector& actorManagerConnector, bool isClientSide);
55
56 MCAPI void registerWithGameplayUserManagerEvents(::IGameplayUserManagerConnector& gameplayUserManagerConnector);
57
58 MCAPI ::CoordinatorResult sendEvent(::EventRef<::MutableLevelGameplayEvent<::CoordinatorResult>> event);
59
60 MCAPI void sendEvent(::EventRef<::LevelGameplayEvent<void>> const& event);
61
62 MCAPI void sendLevelRemovedActor(::Actor& actor);
63
64 MCAPI void sendLevelWeatherChanged(
65 ::std::string const& dimension,
66 bool wasRaining,
67 bool wasLightning,
68 bool isRaining,
69 bool isLightning
70 );
71 // NOLINTEND
72
73public:
74 // destructor thunk
75 // NOLINTBEGIN
76 MCAPI void $dtor();
77 // NOLINTEND
78
79public:
80 // vftables
81 // NOLINTBEGIN
82 MCAPI static void** $vftable();
83 // NOLINTEND
84};
Definition Actor.h:104
Definition EntityContext.h:16
Definition EventCoordinator.h:6
Definition EventRef.h:6
Definition GameRules.h:22
Definition IActorManagerConnector.h:14
Definition IGameplayUserManagerConnector.h:14
Definition LevelEventCoordinator.h:25
Definition LevelEventListener.h:16
Definition LevelGameplayHandler.h:13
Definition LevelGameplayEvent.h:14
Definition MutableLevelGameplayEvent.h:9