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 subscribeToBossEvent(::std::function<void(::BossEventUpdateType)>) = 0;
29
30 virtual ::Bedrock::PubSub::Subscription subscribeToBossEvent(
31 ::std::function<void(::BossEventUpdateType, ::ActorUniqueID const&, ::BossEventPacket const&)>
32 ) = 0;
33
34 virtual void broadcastBossEvent(::BossEventUpdateType) = 0;
35
36 virtual void broadcastBossEvent(::BossEventUpdateType, ::ActorUniqueID const&, ::BossEventPacket const&) = 0;
37
38 virtual bool areBossEventSubscribersReady() const = 0;
39
40 virtual ~BossEventSubscriptionManager() /*override*/ = default;
41 // NOLINTEND
42
43public:
44 // virtual function thunks
45 // NOLINTBEGIN
46
47 // NOLINTEND
48};
Definition EnableNonOwnerReferences.h:7
Definition _HeaderOutputPredefine.h:256
Definition Subscription.h:10
Definition BossEventPacket.h:21
Definition BossEventSubscriptionManager.h:17
Definition ActorUniqueID.h:5