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 // NOLINTEND
42
43public:
44 // virtual function thunks
45 // NOLINTBEGIN
46
47 // NOLINTEND
48};
Definition EnableNonOwnerReferences.h:7
Definition _HeaderOutputPredefine.h:325
Definition Subscription.h:10
Definition BossEventPacket.h:23
Definition BossEventSubscriptionManager.h:17
Definition ActorUniqueID.h:10