LeviLamina
Loading...
Searching...
No Matches
BossEventSubscriptionManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/world/actor/ai/util/BossEventUpdateType.h"
8
9// auto generated forward declare list
10// clang-format off
11class BossEventPacket;
12struct ActorUniqueID;
13namespace Bedrock::PubSub { class Subscription; }
14// clang-format on
15
17 public ::Bedrock::ImplBase<::BossEventSubscriptionManager> {
18public:
19 // BossEventSubscriptionManager inner types define
20 using onBossEventSignature = void(::BossEventUpdateType);
21
22 using onBossEventWithPacketSignature =
23 void(::BossEventUpdateType, ::ActorUniqueID const&, ::BossEventPacket const&);
24
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual ::Bedrock::PubSub::Subscription
29 subscribeToBossEvent(::std::function<void(::BossEventUpdateType)> callback) = 0;
30
31 virtual ::Bedrock::PubSub::Subscription subscribeToBossEvent(
32 ::std::function<void(::BossEventUpdateType, ::ActorUniqueID const&, ::BossEventPacket const&)> callback
33 ) = 0;
34
35 virtual void broadcastBossEvent(::BossEventUpdateType type) = 0;
36
37 virtual void
38 broadcastBossEvent(::BossEventUpdateType type, ::ActorUniqueID const& id, ::BossEventPacket const& packet) = 0;
39
40 virtual bool areBossEventSubscribersReady() const = 0;
41
42 virtual ~BossEventSubscriptionManager() /*override*/ = default;
43 // NOLINTEND
44
45public:
46 // virtual function thunks
47 // NOLINTBEGIN
48
49 // NOLINTEND
50};
Definition EnableNonOwnerReferences.h:7
Definition _HeaderOutputPredefine.h:260
Definition Subscription.h:10
Definition BossEventPacket.h:21
Definition BossEventSubscriptionManager.h:17
Definition ActorUniqueID.h:5